API Reference

120+ REST Endpoints

Complete API reference for the SynthTrader platform. 22 controllers covering every aspect of strategy creation, execution, and monitoring.

/api/patches

MethodEndpointDescription
GET/api/patchesList all saved patches
GET/api/patches/{id}Get a single patch by ID
POST/api/patchesCreate a new empty patch
PUT/api/patches/{id}Update patch metadata (name, description, mode)
DEL/api/patches/{id}Delete a patch
POST/api/patches/bulk-deleteBulk delete patches by ID list
POST/api/patches/{id}/loadLoad a saved patch into the live engine
GET/api/patches/{id}/exportExport patch as downloadable .synth JSON
POST/api/patches/{id}/saveSave current engine state to database
POST/api/patches/{id}/clone-with-paramsClone a patch with parameter overrides

/api/strategies

MethodEndpointDescription
GET/api/strategiesGet all strategy statuses
GET/api/strategies/{id}Get a single strategy status
POST/api/strategies/deployDeploy a new strategy from a patch
POST/api/strategies/{id}/startStart a strategy
POST/api/strategies/{id}/pausePause a strategy
POST/api/strategies/{id}/stopStop a strategy
DEL/api/strategies/{id}Remove a strategy
GET/api/strategies/{id}/logsGet strategy logs
GET/api/strategies/{id}/parametersGet strategy module parameters
POST/api/strategies/{id}/ordersSubmit an order for a strategy

/api/modules

MethodEndpointDescription
GET/api/modulesGet all registered module definitions
GET/api/modules/{typeName}Get a specific module definition by type name

/api/backtests

MethodEndpointDescription
POST/api/backtestsStart a new backtest
GET/api/backtestsList all backtests
GET/api/backtests/{id}Get a single backtest by ID
GET/api/backtests/{id}/equityGet equity curve for a completed backtest
GET/api/backtests/{id}/tradesGet trades for a completed backtest
POST/api/backtests/{id}/monte-carloRun Monte Carlo robustness analysis
POST/api/backtests/compareCompare multiple backtests
POST/api/backtests/walk-forwardStart walk-forward analysis
GET/api/backtests/walk-forwardList all walk-forward runs
GET/api/backtests/walk-forward/{id}Get a single walk-forward run
POST/api/backtests/{id}/validateValidate backtest against quality criteria
POST/api/backtests/{id}/sensitivityStart sensitivity analysis
GET/api/backtests/{id}/sensitivity/{sid}Get sensitivity analysis results
POST/api/backtests/{id}/cancelCancel a running backtest
DEL/api/backtests/{id}Delete a backtest

/api/optimizer

MethodEndpointDescription
POST/api/optimizer/jobsStart a new optimizer job
GET/api/optimizer/jobsList all optimizer jobs
GET/api/optimizer/jobs/{id}Get a single optimizer job
GET/api/optimizer/jobs/{id}/leaderboardGet optimizer trial leaderboard
GET/api/optimizer/jobs/{id}/bestGet the best optimizer result
GET/api/optimizer/jobs/{id}/summaryGet optimizer job summary
POST/api/optimizer/jobs/{id}/stopStop a running optimizer job

/api/trades

MethodEndpointDescription
GET/api/trades/ordersGet orders with optional status and strategy filters
GET/api/trades/positionsGet positions derived from fill history
GET/api/trades/fillsGet fills with optional strategy filter
GET/api/trades/blotterGet trade blotter (orders with nested fills)
GET/api/trades/blotter/summaryGet blotter summary statistics
GET/api/trades/stylized-factsGet stylized facts validation report
POST/api/trades/ordersSubmit a new order
DEL/api/trades/orders/{id}Cancel an order

/api/risk

MethodEndpointDescription
GET/api/risk/statusGet current risk status
POST/api/risk/kill-switchActivate emergency kill switch
POST/api/risk/heartbeatSend risk heartbeat (dead-man switch)
GET/api/risk/alertsGet risk alerts
GET/api/risk/limits/strategyGet strategy risk limits
PUT/api/risk/limits/strategyUpdate strategy risk limits
GET/api/risk/limits/portfolioGet portfolio risk limits
PUT/api/risk/limits/portfolioUpdate portfolio risk limits

/api/market

MethodEndpointDescription
GET/api/market/barsGet OHLCV bars (symbol, venue, timeframe, count)
POST/api/market/loadtest/runRun market data load test

/api/instruments

MethodEndpointDescription
GET/api/instrumentsGet all instruments with filters (market, assetClass, venue, search)

/api/ledger

MethodEndpointDescription
GET/api/ledger/{strategyId}/balancesGet ledger balances (Cash, Position, Fees, PnL, Margin)

/api/library

MethodEndpointDescription
GET/api/libraryList all .synth strategy files with metadata
POST/api/library/load/{**path}Load a .synth file into the engine

/api/overwatch

MethodEndpointDescription
GET/api/overwatch/statusGet current Overwatch status (multi-pair)
POST/api/overwatch/startStart the Overwatch system
POST/api/overwatch/stopStop the Overwatch system
PUT/api/overwatch/configUpdate Overwatch configuration
GET/api/overwatch/historyGet recent Overwatch events
GET/api/overwatch/performanceGet strategy performance by regime
GET/api/overwatch/snapshotsGet continuous regime snapshots
PUT/api/overwatch/tradingToggle ObserveOnly mode
GET/api/overwatch/watchlistGet current watched pairs
PUT/api/overwatch/watchlistUpdate watched pairs
PATCH/api/overwatch/watchlist/{key}Patch a single watched pair
GET/api/overwatch/portfoliosGet regime-to-strategy portfolio mapping
PUT/api/overwatch/portfoliosUpdate regime portfolio assignments
GET/api/overwatch/capitalGet venue capital and allocation breakdown
PUT/api/overwatch/capital/allocationsUpdate capital allocation percentages
GET/api/overwatch/verification/accuracyGet regime detection accuracy metrics
GET/api/overwatch/verification/matrixGet regime confusion matrix

/api/screener

MethodEndpointDescription
GET/api/screenerGet current screener results sorted by score
GET/api/screener/presetsGet available screener presets
PUT/api/screener/configUpdate screener configuration
GET/api/screener/configGet current screener configuration

/api/supervisor

MethodEndpointDescription
GET/api/supervisor/statusGet supervisor status, last decision, next run time
POST/api/supervisor/startStart the supervisor loop
POST/api/supervisor/stopStop the supervisor loop
GET/api/supervisor/decisionsGet recent supervisor decisions (audit trail)
PUT/api/supervisor/configUpdate supervisor configuration

/api/strategy-builder

MethodEndpointDescription
POST/api/strategy-builder/generateGenerate a .synth strategy from natural language (AI)
POST/api/strategy-builder/generate-and-loadGenerate and load strategy as active patch (AI)
POST/api/strategy-builder/explainGet natural language explanation of a patch (AI)

/api/strategy-discovery

MethodEndpointDescription
GET/api/strategy-discovery/searchSemantic search over the strategy index
GET/api/strategy-discovery/topGet top strategies by metric (sharpe, etc.)
POST/api/strategy-discovery/indexIndex a strategy result
GET/api/strategy-discovery/statsGet strategy index statistics

/api/alerts & /api/webhooks

MethodEndpointDescription
GET/api/alertsList alerts with filters (type, severity, strategy_id)
GET/api/alerts/recentGet 50 most recent alerts
GET/api/webhooksList all webhook destinations
POST/api/webhooksAdd a new webhook destination
PUT/api/webhooks/{id}Update a webhook destination
DEL/api/webhooks/{id}Delete a webhook destination
POST/api/webhooks/{id}/testSend a test alert to a webhook

/api/secrets

MethodEndpointDescription
GET/api/secretsGet all secrets (metadata only, values never returned)
POST/api/secretsCreate a new secret (AES-256-GCM encrypted)
PUT/api/secrets/{id}Update a secret's value
DEL/api/secrets/{id}Delete a secret

/api/leaderboard

MethodEndpointDescription
GET/api/leaderboardGet strategy leaderboard rankings
GET/api/leaderboard/overviewGet leaderboard overview
GET/api/leaderboard/{id}/statsGet detailed stats for a strategy
GET/api/leaderboard/{id}/equity-curveGet equity curve for a strategy

/api/admin

MethodEndpointDescription
GET/api/admin/venuesList all venues with enabled state and connectivity
PUT/api/admin/venues/{venueId}Toggle a venue's enabled state

/api/health

MethodEndpointDescription
GET/api/healthAPI health status (patch info, module/cable counts)

/docs

MethodEndpointDescription
GET/docsDocumentation landing page
GET/docs/apiInteractive API reference
GET/docs/modulesModule catalog
GET/docs/signalrSignalR reference
GET/docs/signalsSignal types reference

SignalR Real-Time Hubs

Bidirectional real-time communication via SignalR with MessagePack binary protocol.

HubEndpointPurpose
PatchHub/hubs/patchModule/cable CRUD, parameter updates
ProbeHub/hubs/probeReal-time signal data streaming
StateHub/hubs/statePatch lifecycle and activation
LogHub/hubs/logsStructured log broadcasting
TradeHub/hubs/tradesTrade fill notifications
StrategyHub/hubs/strategyStrategy lifecycle and status
MarketHub/hubs/marketLive market ticker data (4Hz)
RiskHub/hubs/riskRisk events, dead-man switch
BacktestHub/hubs/backtestBacktest progress streaming
OverwatchHub/hubs/overwatchRegime + strategy status (1Hz)
ScreenerHub/hubs/screenerMulti-symbol scan results
SupervisorHub/hubs/supervisorAI supervisor audit trail