> ## Documentation Index
> Fetch the complete documentation index at: https://cofounder.appeeky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Evals API

> Predicted-vs-measured ledger and win-rate stats from the closed-loop tables.

```
GET /v1/cofounder/evals
```

See [Evals](../capabilities/evals) for the conceptual overview and
[Action Scoring](../capabilities/action-scoring) for how the data is produced.

## GET — fetch evals

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://api.appeeky.com/v1/cofounder/evals?days=90&appId=6479581124" -H "X-API-Key: $KEY"
```

Query params:

| Param   | Default         | Notes                    |
| ------- | --------------- | ------------------------ |
| `appId` | (all your apps) | Filter to one app        |
| `days`  | 90              | Window, clamped to 1–365 |

Response:

```jsonc theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "data": {
    "windowDays": 90,
    "total": 12,
    "decided": 8,
    "won": 5,
    "lost": 2,
    "neutral": 1,
    "tooEarly": 4,
    "winRatePct": 71,               // won / (won + lost)
    "byCategory": [
      { "category": "aso_metadata", "won": 3, "lost": 1, "neutral": 0, "winRatePct": 75 }
    ],
    "rows": [
      {
        "id": "uuid",
        "title": "Update subtitle (es-MX)",
        "kind": "aso_metadata",
        "hypothesis": "+8% conversion on MX listing",
        "expectedMetrics": ["asc.conversion", "asc.downloads"],
        "status": "won",
        "outcome": "won",           // won | lost | neutral | too_early | inconclusive | null
        "measuredSummary": "conversion +6.4% per-day over 14d",
        "deltaPct": 6.4,
        "changedAt": "2026-07-01T08:00:00Z",
        "observedAt": "2026-07-15T00:15:00Z"
      }
    ]
  }
}
```

`outcome` is `null` when the experiment hasn't been observed yet; `too_early`
means the horizon hasn't elapsed.
