GET /runs
Paginated list of runs, newest first. Scoped to the caller's API key when keys are provisioned (anonymous in open mode).
Request
GET /runs?limit=50&offset=0
X-Verdifax-Key: vfx_...
Query parameters
| Parameter | Type | Default | Notes |
|---|---|---|---|
limit | int | 50 | Max 500 |
offset | int | 0 | Pagination cursor |
Response
{
"ok": true,
"total": 1248,
"limit": 50,
"offset": 0,
"runs": [
{
"id": 1248,
"created_at": "2026-04-30T03:35:04.123Z",
"program_id": "aaaa...",
"route_id": "route-test",
"manifest_hash": "6c1428f81519c5bb...",
"duration_ms": 3,
"status": "ok",
"error_stage": ""
}
]
}
The summary view omits the full ExecutionManifest for performance. Use GET /runs/{id} for the full record.
Example
curl -s "http://localhost:9090/runs?limit=10" \
-H "X-Verdifax-Key: vfx_..." | python3 -m json.tool
Search
For filtering by manifest hash prefix, program_id, route_id, status, or date range, use GET /runs/search — same shape, additional query params.
