Validation Metrics API

Retrieve detection quality metrics used by the dashboard’s research views. This endpoint is designed to be auditable and outputs-focused.

Endpoint

GET
/api/validation/metrics
curl "https://YOUR_BACKEND_DOMAIN/api/validation/metrics" \
  -H "X-API-Key: your-api-key"

Response

The endpoint returns per-symbol metrics for full window and holdout window, plus provenance.

Response

{
  "computed_at": "2026-01-19T01:00:00Z",
  "symbols": [
    {
      "symbol": "SPY",
      "full": { "recall": 0.81, "precision": 0.62, "f1": 0.70, "n_signals": 42 },
      "holdout": { "recall": 0.79, "precision": 0.58, "f1": 0.67, "n_signals": 12 }
    }
  ],
  "provenance": {
    "notes": "Outputs-only metrics intended for independent verification."
  }
}

Response Fields

| Field | Type | Description | |-------|------|-------------| | computed_at | string | When the metrics were computed | | symbols | array | Per-symbol metric rows | | symbols[].full | object | Full-window metrics (precision/recall/F1) | | symbols[].holdout | object | Holdout-window metrics | | provenance | object | Where the artifact came from / how it was computed |

Error Responses

| Status Code | Error | Description | |-------------|-------|-------------| | 401 | UNAUTHORIZED | Invalid or missing API key | | 500 | INTERNAL_ERROR | Server error occurred |

Rate Limits

This endpoint can be expensive. Cache results and avoid frequent polling.