API reference
The EvalLite API
Base URL https://evallite.com. Authenticate with Authorization: Bearer evl_…. JSON in, JSON out.
Liveness. Returns brand and domain.
auth: none · success: 200
Create an API key. The plaintext token is returned only here.
auth: session or evl_ · success: 201
{ "label": "ci" }List active keys. Never includes token or hash.
auth: session or evl_ · success: 200
Revoke a key. 404 if not found or not yours.
auth: session or evl_ · success: 200
Open a run. 1 event.
auth: evl_ · success: 201
{ "name": "agent@v42", "metadata": { "env": "ci" } }Append spans. Each span is 1 event. prompt/output are redacted unless store_raw: true or redact: false.
auth: evl_ · success: 201
{ "spans": [{ "name": "plan", "prompt": "…", "output": "…" }] }Record a score. metric and value required; reason trimmed to 280 chars. 1 event.
auth: evl_ · success: 201
{ "metric": "task_success", "value": 1, "reason": "…" }Plan, current period, api_calls, eval_runs and events (used / included / remaining / overage).
auth: evl_ · success: 200
Errors
Every error body is { "error": "<code>", "message": "…" }.
| 400 | bad_request | Invalid JSON or missing fields |
| 401 | unauthorized | Missing, invalid or revoked credentials — checked first |
| 403 | forbidden | Account lacks API access entitlement |
| 404 | not_found | Run or key not found, or not yours |
| 413 | payload_too_large | A record exceeds 64 KB of UTF-8 JSON (not counted) |
| 429 | quota_exceeded | Free plan monthly event cap reached |