Developer Docs

API Documentation

Access AlgoWorkout programmatically. Query strategies, pull kill reports, and manage pipeline runs via REST API.

Authentication

All API requests require a Bearer token. You can generate an API key from your Account Settings.

Authorization: Bearer YOUR_API_KEY

Rate Limits: Builder plans — 100 requests/hour. Institutional plans — unlimited.

Base URL

https://api.algoworkout.com/api/v1

Endpoints

GET /strategies

List all your strategies with current pipeline status (hypothesis, surviving, killed, deployed).

GET /strategies/{id}

Get full manifest for a specific strategy, including all stage results and audit trail.

GET /strategies/{id}/kill-report

Get the kill report for a killed strategy: reason, stage, metrics, and LLM critique.

GET /strategies/{id}/equity-curve

Get equity curve data as JSON (date, portfolio_value, drawdown).

GET /pipeline/status

Get current pipeline status — counts per stage (hypothesis, sanity_check, interrogation, stress_test, walk_forward, deployed).

POST /pipeline/run

Trigger a new pipeline run with a custom hypothesis. Institutional only.

POST /pipeline/configure

Update kill gate thresholds (min_sharpe, min_trades, max_drawdown, max_decay). Institutional only.

Example: List Strategies

Request:

curl -X GET https://api.algoworkout.com/api/v1/strategies \ -H "Authorization: Bearer ak_live_abc123xyz"

Response (200 OK):

{ "strategies": [ { "id": "strat_001", "name": "Momentum Treasury Spread", "status": "deployed", "ticker": "TLT", "sharpe": 1.34, "max_drawdown": -12.4, "created_at": "2026-01-15T10:30:00Z" }, { "id": "strat_002", "name": "Overnight Gap Reversal", "status": "killed", "kill_stage": "sanity_check", "kill_reason": "Sharpe 0.21 < 0.5 threshold", "created_at": "2026-01-16T14:20:00Z" } ], "total": 2, "page": 1 }

Example: Get Kill Report

Request:

curl -X GET https://api.algoworkout.com/api/v1/strategies/strat_002/kill-report \ -H "Authorization: Bearer ak_live_abc123xyz"

Response (200 OK):

{ "strategy_id": "strat_002", "name": "Overnight Gap Reversal", "kill_stage": "sanity_check", "kill_gate": 3, "verdict": "KILL", "reason": "Failed minimum thresholds", "metrics_at_death": { "sharpe_ratio": 0.21, "total_trades": 12, "max_drawdown": -8.3, "annual_return": 3.2 }, "thresholds": { "min_sharpe": 0.5, "min_trades": 25 }, "failed_checks": ["sharpe_below_minimum", "insufficient_trades"], "killed_at": "2026-01-16T14:22:34Z" }

SDKs

Python SDK coming soon. For now, use the REST API directly with any HTTP client (curl, requests, httpx, etc.).

HTTP Status Codes

Code Meaning Description
200 OK Request succeeded.
400 Bad Request Invalid parameters or malformed request body.
401 Unauthorized Missing or invalid API key.
403 Forbidden Your plan does not include access to this endpoint.
429 Rate Limited Too many requests. Wait and retry.
500 Server Error Something went wrong on our end. Contact support.