Tradier API
Auto-generated from
openapi-snapshot.json. Do not edit by hand — changes are overwritten byscripts/docs/generate_api_reference.py.
17 endpoints in this group.
GET /api/tradier/accounts
Tradier Accounts
Responses
| Code | Description |
|---|---|
200 | Successful 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
code | query | string | required | One-time auth code from Tradier |
state | query | — | optional | CSRF state nonce echoed back from Tradier |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation 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
| Code | Description |
|---|---|
200 | Successful Response |
POST /api/tradier/disconnect
Tradier Disconnect
Responses
| Code | Description |
|---|---|
200 | Successful Response |
GET /api/tradier/options/chain
Tradier Options Chain
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
symbol | query | string | required | |
expiration | query | string | required | YYYY-MM-DD expiration |
greeks | query | boolean | optional |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /api/tradier/options/expirations
Tradier Options Expirations
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
symbol | query | string | required |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /api/tradier/options/strikes
Tradier Options Strikes
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
symbol | query | string | required | |
expiration | query | string | required | YYYY-MM-DD expiration |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /api/tradier/orders
Tradier List Orders
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | optional | |
page_size | query | integer | optional |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /api/tradier/orders/equity
Tradier Place Equity Order
Request body: application/json
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /api/tradier/orders/multileg
Tradier Place Multileg Order
Request body: application/json
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /api/tradier/orders/option
Tradier Place Option Order
Request body: application/json
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
DELETE /api/tradier/orders/{order_id}
Tradier Cancel Order
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
order_id | path | string | required |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /api/tradier/orders/{order_id}
Tradier Get Order
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
order_id | path | string | required |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /api/tradier/positions
Tradier Positions
Fetch Tradier positions for the requesting tenant.
Wrapped in sync_orchestrator.sync_attempt (Phase C #648) 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
account_id | query | — | optional | Tradier account_number; omit to fan out |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /api/tradier/quotes
Tradier Quotes
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
symbols | query | string | required | Comma-separated ticker symbols |
Responses
| Code | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /api/tradier/refresh
Tradier Refresh
Responses
| Code | Description |
|---|---|
200 | Successful Response |
GET /api/tradier/status
Tradier Status
Return whether Tradier OAuth is wired up for the calling tenant.
Responses
| Code | Description |
|---|---|
200 | Successful Response |