Lux Docs
Broker

API Reference

Complete REST API reference for the Lux Broker

Base URL: http://localhost:8090/v1

Authentication

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.

Accounts

MethodPathDescription
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

Orders

MethodPathDescription
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

Positions

MethodPathDescription
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

Smart Order Routing

MethodPathDescription
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

Market Data

MethodPathDescription
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

Crypto Market Data

MethodPathDescription
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

Consolidated Data

MethodPathDescription
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.

Transfers & Banking

MethodPathDescription
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

Journals (Inter-Account Transfers)

MethodPathDescription
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

Documents

MethodPathDescription
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

Watchlists

MethodPathDescription
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

Portfolio History

MethodPathDescription
GET/v1/accounts/{provider}/{accountId}/portfolio/historyEquity time series

Query parameters: ?period=1M&timeframe=1D

Event Streaming (SSE)

MethodPathDescription
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.

Risk & Audit

MethodPathDescription
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

Funding

MethodPathDescription
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

Providers

MethodPathDescription
GET/v1/providersList registered providers
GET/v1/providers/capabilitiesProvider capabilities (asset classes, fees, features)

Response Format

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.

On this page