Broker
API Reference Complete REST API reference for the Lux Broker
Base URL: http://localhost:8090/v1
All endpoints except /healthz require authentication via one of:
Authorization: Bearer <api-key> header
X-API-Key: <api-key> header
The health check endpoint GET /healthz requires no auth and returns the list of registered providers.
Method Path Description POST /v1/accountsCreate account (with provider, identity, contact) GET /v1/accountsList all accounts across providers GET /v1/accounts/{provider}/{accountId}Get account detail GET /v1/accounts/{provider}/{accountId}/portfolioPortfolio snapshot PATCH /v1/accounts/{provider}/{accountId}Update account DELETE /v1/accounts/{provider}/{accountId}Close account GET /v1/accounts/{provider}/{accountId}/activitiesAccount activity feed
Method Path Description POST /v1/accounts/{provider}/{accountId}/ordersPlace order GET /v1/accounts/{provider}/{accountId}/ordersList orders GET /v1/accounts/{provider}/{accountId}/orders/{orderId}Get order PATCH /v1/accounts/{provider}/{accountId}/orders/{orderId}Replace/modify order DELETE /v1/accounts/{provider}/{accountId}/orders/{orderId}Cancel order DELETE /v1/accounts/{provider}/{accountId}/ordersCancel all orders
Query parameters for list orders: ?status=open|closed|all
Method Path Description GET /v1/accounts/{provider}/{accountId}/positions/{symbol}Get position DELETE /v1/accounts/{provider}/{accountId}/positions/{symbol}Close position DELETE /v1/accounts/{provider}/{accountId}/positionsClose all positions
Method Path Description GET /v1/route/{symbol}Best venues for symbol GET /v1/route/{symbol}/{quote}Best venues for pair (e.g. BTC/USD) GET /v1/route/{symbol}/splitVWAP split plan GET /v1/route/{symbol}/{quote}/splitVWAP split plan for pair POST /v1/smart-orderExecute smart order (routes to best venue) POST /v1/smart-order/splitExecute split across venues GET /v1/assetsAggregated assets across all providers GET /v1/assets/{provider}List assets for a provider GET /v1/assets/{provider}/{symbolOrId}Get single asset detail
Method Path Description GET /v1/market/{provider}/snapshot/{symbol}Real-time price snapshot GET /v1/market/{provider}/snapshotsMultiple snapshots GET /v1/market/{provider}/bars/{symbol}OHLCV bars GET /v1/market/{provider}/trades/latestLatest trades GET /v1/market/{provider}/quotes/latestLatest quotes GET /v1/market/{provider}/clockMarket clock GET /v1/market/{provider}/calendarMarket calendar
Query parameters for snapshots: ?symbols=AAPL,MSFT
Query parameters for bars: ?timeframe=1Day&start=2024-01-01&end=2024-01-31&limit=100
Query parameters for latest trades/quotes: ?symbols=AAPL,MSFT
Method Path Description GET /v1/market/{provider}/crypto/barsCrypto OHLCV bars GET /v1/market/{provider}/crypto/quotesCrypto quotes GET /v1/market/{provider}/crypto/tradesCrypto trades GET /v1/market/{provider}/crypto/snapshotsCrypto snapshots
Method Path Description GET /v1/bbo/{symbol}Best bid/offer across all venues GET /v1/bbo/{symbol}/{quote}BBO for pair GET /v1/streamSSE stream (real-time consolidated tickers)
The BBO endpoint returns the best bid and best ask across all connected providers, including provider attribution for each side.
Method Path Description GET /v1/accounts/{provider}/{accountId}/transfersList transfers POST /v1/accounts/{provider}/{accountId}/transfersCreate transfer (ACH/wire/crypto) DELETE /v1/accounts/{provider}/{accountId}/transfers/{transferId}Cancel transfer GET /v1/accounts/{provider}/{accountId}/bank-relationshipsList bank relationships POST /v1/accounts/{provider}/{accountId}/bank-relationshipsCreate bank relationship DELETE /v1/accounts/{provider}/{accountId}/ach-relationships/{achId}Delete ACH relationship POST /v1/accounts/{provider}/{accountId}/recipient-banksAdd wire recipient GET /v1/accounts/{provider}/{accountId}/recipient-banksList wire recipients DELETE /v1/accounts/{provider}/{accountId}/recipient-banks/{bankId}Remove wire recipient
Method Path Description POST /v1/journals/{provider}Create journal (JNLC cash / JNLS security) GET /v1/journals/{provider}List journals GET /v1/journals/{provider}/{journalId}Get journal DELETE /v1/journals/{provider}/{journalId}Delete journal POST /v1/journals/{provider}/batchBatch journal POST /v1/journals/{provider}/reverse_batchReverse batch
Method Path Description POST /v1/accounts/{provider}/{accountId}/documentsUpload document GET /v1/accounts/{provider}/{accountId}/documentsList documents GET /v1/accounts/{provider}/{accountId}/documents/{documentId}Get document GET /v1/accounts/{provider}/{accountId}/documents/{documentId}/downloadDownload document
Method Path Description POST /v1/accounts/{provider}/{accountId}/watchlistsCreate watchlist GET /v1/accounts/{provider}/{accountId}/watchlistsList watchlists GET /v1/accounts/{provider}/{accountId}/watchlists/{id}Get watchlist PUT /v1/accounts/{provider}/{accountId}/watchlists/{id}Update watchlist DELETE /v1/accounts/{provider}/{accountId}/watchlists/{id}Delete watchlist POST /v1/accounts/{provider}/{accountId}/watchlists/{id}/assetsAdd asset DELETE /v1/accounts/{provider}/{accountId}/watchlists/{id}/{symbol}Remove asset
Method Path Description GET /v1/accounts/{provider}/{accountId}/portfolio/historyEquity time series
Query parameters : ?period=1M&timeframe=1D
Method Path Description GET /v1/events/{provider}/tradesTrade events GET /v1/events/{provider}/accountsAccount events GET /v1/events/{provider}/transfersTransfer events GET /v1/events/{provider}/journalsJournal events
All event endpoints use Server-Sent Events (SSE). Connect with an Accept: text/event-stream header.
Method Path Description GET /v1/risk/checkPre-trade risk check GET /v1/auditQuery audit log GET /v1/audit/statsAudit statistics GET /v1/audit/exportExport audit log (JSON download)
Query parameters for risk check: ?provider=alpaca&account_id=abc&symbol=AAPL&side=buy&qty=100&price=150&type=market
Query parameters for audit: ?action=order.create&provider=alpaca&account_id=abc&symbol=AAPL&since=2024-01-01T00:00:00Z&until=2024-12-31T23:59:59Z
Method Path Description POST /v1/fund/depositDeposit via payment processor POST /v1/fund/withdrawWithdraw via payment processor POST /v1/fund/webhook/{processor}Payment processor webhook GET /v1/fund/processorsList available processors
Method Path Description GET /v1/providersList registered providers GET /v1/providers/capabilitiesProvider capabilities (asset classes, fees, features)
All responses are JSON. Successful responses return the resource directly. Errors return:
{
"error" : "description of what went wrong"
}
HTTP status codes follow standard conventions: 200 for success, 201 for created, 400 for bad request, 401 for unauthorized, 404 for not found, 500 for internal errors.