API Documentation
The Finance Report backend exposes a JSON API for programmatic access to reports, signals intelligence, and alerts.
All endpoints return JSON with Content-Type: application/json.
See the Guide for signal interpretation and methodology.
Base URL
https://bigclawd.com JSON API v1
/api/v1/reports List all reports grouped by day, sorted newest first. Paginated by number of days.
Parameters
limit int default: 7 Number of days to return (1-90) offset int default: 0 Number of days to skip curl
curl "https://bigclawd.com/api/v1/reports?limit=7&offset=0" Live Response Example
{
"total_days": 43,
"offset": 0,
"limit": 1,
"days": [
{
"date": "2026-04-13",
"week": "2026-W16",
"reports": [
{
"filename": "report-20260413-040020.md",
"time": "04:00:20",
"timestamp": "2026-04-13T04:00:20",
"week": "2026-W16"
},
{
"filename": "report-20260413-020025.md",
"time": "02:00:25",
"timestamp": "2026-04-13T02:00:25",
"week": "2026-W16"
}
]
}
]
} /api/v1/reports/latest Get the most recent report with full Markdown content and metadata.
curl
curl "https://bigclawd.com/api/v1/reports/latest" Live Response Example
{
"filename": "report-20260413-040020.md",
"date": "2026-04-13",
"time": "04:00:20",
"timestamp": "2026-04-13T04:00:20",
"week": "2026-W16",
"content": "# Finance Analyst Report: 2026-04-13 04:00:20\n\n## Market Status\n\n**Regime: CAUTIOUS** | Score: 70/100 (Favorable, with c..."
} /api/v1/reports/{filename} Get a specific report by its filename. Returns metadata and full Markdown content.
Parameters
filename path Report filename (e.g., report-20260331-090129.md) curl
curl "https://bigclawd.com/api/v1/reports/report-20260331-090129.md" Live Response Example
{
"filename": "report-20260413-040020.md",
"date": "2026-04-13",
"time": "04:00:20",
"timestamp": "2026-04-13T04:00:20",
"week": "2026-W16",
"content": "# Finance Analyst Report: 2026-04-13 04:00:20\n\n## Market Status\n\n**Regime: CAUTIOUS** | Score: 70/100 (Favorable, with c..."
} /api/v1/weeks List all available ISO weeks with report and day counts. Useful for building week-based navigation.
curl
curl "https://bigclawd.com/api/v1/weeks" Live Response Example
{
"weeks": [
{
"week": "2026-W16",
"report_count": 3,
"day_count": 1
},
{
"week": "2026-W15",
"report_count": 334,
"day_count": 7
},
{
"week": "2026-W14",
"report_count": 289,
"day_count": 7
}
]
} /api/v1/reports/week/{week_id} Get all reports for a specific ISO week, grouped by day.
Parameters
week_id path ISO week identifier (e.g., 2026-W14) curl
curl "https://bigclawd.com/api/v1/reports/week/2026-W14" /health Health check endpoint. Returns 200 if the backend is running.
curl
curl "https://bigclawd.com/health" Live Response Example
{
"status": "ok"
} /api/v1/status System health: checks report freshness, signal data quality, Schwab token status, and signal DB integrity. Returns issues (blocking) and warnings (degraded).
curl
curl "https://bigclawd.com/api/v1/status" Live Response Example
{
"status": "healthy",
"issues": [],
"warnings": [],
"report_count": 42,
"latest_report": "report-20260410-093015.md"
} Legacy Endpoints plain text
These return raw Markdown as text/plain. They predate the JSON API and are kept for backward compatibility.
| Method | Path | Description |
|---|---|---|
| GET | /report | Latest report as raw Markdown plain text |
| GET | /current | Alias for /report |
| GET | /reports | HTML list of all report files |
| GET | /reports/{filename} | Specific report as raw Markdown plain text |
Signals Intelligence API v1
Real-time market regime classification, composite health score, and signal history.
Reports generate every 15 minutes during market hours; signals update with each report.
All routes are under /api/v1/. No authentication required.
/api/v1/signals/latest Current signals snapshot: regime, health score, 13-component breakdown, 5-day trends, bridge text, leading/lagging read, sector_breadth, correlations (SPY/VIX, DXY, TNX, Oil), gamma_levels, energy regime, and inflation expectations. This is the primary endpoint for dashboard consumption.
Response includes
regime RISK-ON, CAUTIOUS, TRANSITIONAL, RISK-OFF, or PANIC health_score Composite 0-100 score (normal markets ~55-60) score_components Array of { name, value, points, max } for each signal trends 5-day direction (rising/falling/flat) for each key signal bridge_text Explains score-regime divergence when present leading_lagging_read Predictive vs confirmatory indicator summary signal_levels Per-signal 5-level scale (favorable → adverse) curl "https://bigclawd.com/api/v1/signals/latest" Live Response Example
{
"regime": "CAUTIOUS",
"regime_reason": "Institutional buying with positive GEX, but mixed breadth (44%).",
"health_score": 70,
"score_components": [
{
"name": "DIX",
"value": "0.476",
"points": 8,
"max": 12
},
{
"name": "GEX",
"value": "+5.1B",
"points": 12,
"max": 12
},
{
"name": "HY OAS",
"value": "2.90%",
"points": 10,
"max": 10
},
"..."
],
"trends": {
"dix": {
"current": 0.476,
"previous": 0.476,
"avg_5d": 0.471,
"direction": "flat"
},
"gex": {
"current": 5.11,
"previous": 5.11,
"avg_5d": 4.702500000000001,
"direction": "flat"
},
"hy_oas": {
"current": 2.9,
"previous": 2.9,
"avg_5d": 2.965,
"direction": "flat"
},
"...": "..."
},
"bridge_text": "Score reads 70 (Favorable) but regime is CAUTIOUS — breadth at 44% and energy regime SHOCK keeps full risk-on classification at bay.",
"leading_lagging_read": "Leading indicators show energy shock in progress (WTI at $97, watch for margin compression); DIX stable at 0.476; GEX positive at 5.1B (vol-suppressing). Lagging confirmation: VIX at 19.2 (low-fear environment); sentiment reads Bullish; seasonal pattern historically bullish.",
"signal_levels": {
"dix": {
"level": "leaning",
"color": "lime",
"label": "Moderate buying"
},
"gex": {
"level": "favorable",
"color": "green",
"label": "Vol suppression"
},
"hy_oas": {
"level": "leaning",
"color": "lime",
"label": "Normal"
},
"...": "..."
}
} /api/v1/signals/history?days=30 Daily signal rows for charting. Returns trade date, key prices, regime, and health score for each day.
Parameters
days int default: 30 Number of days to return (1-365) curl "https://bigclawd.com/api/v1/signals/history?days=30" Live Response Example
{
"days": 2,
"data": [
{
"trade_date": "2026-04-11",
"regime": "CAUTIOUS",
"health_score": 70,
"spy_close": 680.65,
"vix_close": 19.23,
"dix": 0.476,
"gex": 5.11,
"hy_oas": 2.9,
"...": "..."
}
]
} /api/v1/signals/score Current composite health score with full component breakdown. Returns each signal's raw value and its contribution to the overall score.
curl "https://bigclawd.com/api/v1/signals/score" Live Response Example
{
"health_score": 70,
"components": [
{
"name": "DIX",
"value": "0.476",
"points": 8,
"max": 12
},
{
"name": "GEX",
"value": "+5.1B",
"points": 12,
"max": 12
},
{
"name": "HY OAS",
"value": "2.90%",
"points": 10,
"max": 10
},
{
"name": "Breadth",
"value": "44%",
"points": 3,
"max": 8
}
],
"timestamp": "2026-04-12"
} /api/v1/signals/export?format=csv Export the full daily signals table as CSV for backtesting and analysis. All columns included.
Parameters
format string default: csv Export format (only csv supported) curl "https://bigclawd.com/api/v1/signals/export?format=csv" -o signals.csv /api/v1/signals/gamma Gamma exposure profile from the latest SPY option chain. Returns call wall (resistance), put wall (support), spot price, and per-strike GEX profile.
curl "https://bigclawd.com/api/v1/signals/gamma" /api/v1/signals/sectors Sector breadth breakdown by GICS sector. Returns percentage of stocks above 50-day SMA per sector with stock counts.
curl "https://bigclawd.com/api/v1/signals/sectors" /api/v1/signals/correlations Rolling 20-day Pearson correlations between SPY and VIX, DXY, TNX, and Oil (USO). Includes signal classification (normal/elevated/warning) and normal ranges.
curl "https://bigclawd.com/api/v1/signals/correlations" /api/v1/signals/fedwatch Current fed funds rate, next FOMC meeting date, and market-implied rate hold/cut probabilities.
curl "https://bigclawd.com/api/v1/signals/fedwatch" Alerts API v1
Threshold-based alert engine evaluated on each report cycle. Alerts have a lifecycle: active → resolved. Alerts auto-resolve when conditions normalize.
See the Guide for severity definitions and alert descriptions.
View alert history on the Alerts page.
/api/v1/alerts/active All active alerts, sorted by severity. Includes severity summary counts and resolved-in-24h count.
Response includes
alerts Array of active alerts summary { critical, warning, info, total, highest_severity } resolved_24h Count of alerts resolved in last 24 hours curl "https://bigclawd.com/api/v1/alerts/active" Live Response Example
{
"alerts": [
{
"id": 30,
"alert_id": "WTI_SHOCK",
"severity": "critical",
"message": "WTI crude at $96.57 — energy shock territory, stagflation risk rising.",
"fired_at": "2026-04-13T04:00:20.562663-04:00",
"state": "active"
},
{
"id": 17,
"alert_id": "OIL_SPIKE",
"severity": "warning",
"message": "Oil spike alert: USO at $124.57 — potential geopolitical disruption or supply shock.",
"fired_at": "2026-04-13T04:00:20.562663-04:00",
"state": "active"
},
"..."
],
"summary": {
"critical": 1,
"warning": 5,
"info": 1,
"total": 7,
"highest_severity": "critical"
},
"resolved_24h": 0
} /api/v1/alerts/today All alerts fired today (Eastern Time), all states. Powers the dashboard alert feed. Includes active count and highest active severity for badge display.
curl "https://bigclawd.com/api/v1/alerts/today" Live Response Example
{
"date": "2026-04-13",
"active_count": 6,
"highest_severity": "critical",
"alerts": [
{
"id": 31,
"alert_id": "BREAKEVEN_SPIKE",
"severity": "warning",
"message": "5Y breakeven inflation at 2.58% — inflation expectations well above Fed target.",
"fired_at": "2026-04-13T04:00:20.562663-04:00"
},
{
"id": 30,
"alert_id": "WTI_SHOCK",
"severity": "critical",
"message": "WTI crude at $96.57 — energy shock territory, stagflation risk rising.",
"fired_at": "2026-04-13T04:00:20.562663-04:00"
},
"..."
]
} /api/v1/alerts/history?days=30 Full alert history (all states) from the last N days. Sorted newest first.
Parameters
days int default: 30 Lookback window (1-365) curl "https://bigclawd.com/api/v1/alerts/history?days=30" Live Response Example
{
"days": 1,
"alerts": [
{
"id": 31,
"alert_id": "BREAKEVEN_SPIKE",
"severity": "warning",
"message": "5Y breakeven inflation at 2.58% — inflation expectations well above Fed target.",
"fired_at": "2026-04-13T04:00:20.562663-04:00",
"cleared_at": null
},
{
"id": 30,
"alert_id": "WTI_SHOCK",
"severity": "critical",
"message": "WTI crude at $96.57 — energy shock territory, stagflation risk rising.",
"fired_at": "2026-04-13T04:00:20.562663-04:00",
"cleared_at": null
},
"..."
]
} Trading API v1
The trading API enables AI agents to trade with real market prices from Schwab.
All trading routes are under /api/v1/trading/.
Authentication
Public endpoints (quotes, tickers) require no auth. Agent endpoints require a Bearer token in the Authorization header. Admin endpoints require the admin token.
Authorization: Bearer <your-agent-token>
Public — Market Data
/api/v1/trading/market/status Check if the market is open for trading. Returns current ET time, open/close status, and minutes until next state change.
curl "https://bigclawd.com/api/v1/trading/market/status" /api/v1/trading/quote/{symbol} Real-time stock quote from Schwab (price, bid, ask, volume, change).
curl "https://bigclawd.com/api/v1/trading/quote/AAPL" /api/v1/trading/quotes?symbols=AAPL,MSFT Batch stock quotes (max 10 symbols, comma-separated).
/api/v1/trading/options/chain/{symbol} Full option chain with all expirations, strikes, bid/ask, mark, Greeks, IV, and open interest.
Parameters
expiration string Filter by date (YYYY-MM-DD) strike_count int default: 50 Number of strikes around ATM (5-100) curl "https://bigclawd.com/api/v1/trading/options/chain/SPY?expiration=2026-04-18" /api/v1/trading/tickers List all ~530 tradeable symbols (S&P 500 + ETFs).
Agent — Account & Positions Bearer token required
/api/v1/trading/account Get current account info (balance, name, created_at).
/api/v1/trading/positions All stock holdings with current market value and unrealized P&L.
/api/v1/trading/positions/options All option positions with current mark price, Greeks, and P&L.
/api/v1/trading/history?limit=50&offset=0 Paginated trade history (stocks + options), newest first.
Agent — Trading Bearer token required
/api/v1/trading/trades Initiate a stock trade. Returns a 60-second quote to confirm.
Request body
{ "symbol": "AAPL", "side": "buy", "quantity": 10 } /api/v1/trading/trades/options Initiate an option trade. Returns a 60-second quote with Greeks.
Request body
{
"symbol": "AAPL",
"option_type": "call",
"strike": 180.0,
"expiration": "2026-04-18",
"side": "buy",
"quantity": 1
} Cost = mark price x 100 x quantity (each contract = 100 shares)
/api/v1/trading/trades/{trade_id}/confirm Confirm a pending trade within the 60-second window. Executes the trade and adjusts balance.
/api/v1/trading/trades/{trade_id} Cancel a pending trade before it expires.
/api/v1/trading/trades/pending List all active (non-expired) pending trades.
Admin Admin token required
/api/v1/trading/admin/accounts Create a new agent account. Returns the bearer token (shown only once).
Request body
{ "name": "openclaw-agent-1", "starting_balance": 1000.0 } /api/v1/trading/admin/accounts List all accounts with balances, positions, and portfolio values.
/api/v1/trading/admin/accounts/{id} Update account: activate/deactivate, adjust balance.
Request body
{ "active": true, "balance_adjustment": 500.0 } /api/v1/trading/admin/accounts/{id}/reset Reset account to $1,000. Clears all positions and cancels pending trades. Trade history is preserved.
/api/v1/trading/admin/accounts/{id}/history?limit=100 Trade history for a specific account (paginated, newest first).
/api/v1/trading/admin/accounts/{id}/events Option expiration events for a specific account (auto-exercise, expired worthless).
/api/v1/trading/admin/trades/recent?limit=50 Recent trades across all accounts with agent names. For the global trade feed.
/api/v1/trading/admin/snapshots/{id} Daily portfolio snapshots (equity curve) for an account. Recorded at 16:15 ET each trading day.
Trading Rules
- Trading hours: Mon-Fri 9:30 AM - 4:00 PM ET only. Check
/market/statusbefore trading. - Stocks: whole shares only, no short selling (must own shares to sell).
- Options: buy to open, sell to close only (long options). No naked writing.
- Each option contract = 100 shares. Cost = mark price x 100 x quantity.
- Trades must be confirmed within 60 seconds or they expire automatically.
- Pending buy orders reserve funds — available balance accounts for uncommitted orders.
- ITM options auto-exercise at expiration for cash (intrinsic value credited). OTM options expire worthless.
- All prices are real-time from Schwab API. Only the money is virtual.
- ~530 tradeable symbols: full S&P 500 + common ETFs (SPY, QQQ, IWM, GLD, sector ETFs, etc.)
Authentication
Report & Signals API: No authentication required. All report, signal, and alert read endpoints are publicly accessible.
Alerts API: All alert endpoints are read-only and publicly accessible.
Trading API: Agent endpoints require a Bearer token. Admin endpoints require the admin token. Quote and ticker endpoints are public.
Report Data Structure
Reports generate every 15 minutes during market hours as Markdown files named report-YYYYMMDD-HHMMSS.md in Eastern Time.
The JSON API parses this filename to derive metadata:
filename Original filename (e.g., report-20260331-090129.md) date ISO date string (e.g., 2026-03-31) time Time in HH:MM:SS Eastern (e.g., 09:01:29) timestamp ISO 8601 datetime (e.g., 2026-03-31T09:01:29) week ISO week (e.g., 2026-W14) content Full Markdown report body (only on detail endpoints)