Source runs
List ingest runs, inspect a single run, or generate a cited evidence pack for any run produced under the authenticated account.
| Operation |
Method |
Path |
| List runs |
GET |
/v1/source-runs |
| Inspect a run |
GET |
/v1/source-runs/{sourceRunId}/inspect |
| Evidence pack |
GET |
/v1/source-runs/{sourceRunId}/evidence |
All three require an API key with scope evidence.
#List runs
#Request
GET /v1/source-runs?limit=20
| Query parameter |
Type |
Default |
Notes |
limit |
integer |
20 |
1 ≤ limit ≤ 100 |
#Response: 200 OK
{
"schemaVersion": "marrow-source-run-list-v1",
"runs": [
{
"id": "f1a3…",
"sourceKind": "url",
"startedAt": "2026-05-12T14:08:22Z",
"finishedAt": "2026-05-12T14:08:54Z",
"summary": { "notes": 12, "claims": 18, "edges": 33, "facets": 4 }
}
],
"pagination": { "limit": 20, "returned": 1, "hasMore": false, "nextCursor": null }
}
#Inspect a run
#Request
GET /v1/source-runs/{sourceRunId}/inspect
| Path parameter |
Type |
Notes |
sourceRunId |
uuid |
required |
#Response: 200 OK
{
"schemaVersion": "marrow-source-run-inspect-v1",
"run": {
"id": "f1a3…",
"sourceKind": "url",
"datedAt": "2026-05-12",
"startedAt": "2026-05-12T14:08:22Z",
"finishedAt": "2026-05-12T14:08:54Z"
},
"counts": { "notes": 12, "claims": 18, "positions": 0, "projects": 2, "entities": 5, "edges": 33, "facets": 4 },
"predicates": [
{ "name": "extracted-from", "count": 18 },
{ "name": "demonstrates", "count": 7 }
],
"facets": [ { "name": "cross-functional-delivery", "count": 9 } ],
"warnings": []
}
#Evidence pack
Cited Markdown-or-JSON pack of the actual notes and claims for the run.
#Request
GET /v1/source-runs/{sourceRunId}/evidence
| Query parameter |
Type |
Default |
Caps |
Notes |
maxNotes |
integer |
12 |
100 |
Most notes to include |
maxClaims |
integer |
12 |
100 |
Most claims to include |
maxChars |
integer |
20000 |
100000 |
Hard ceiling on combined excerpt length |
minNoteWords |
integer |
80 |
|
Drop short notes so the pack stays substantive |
#Response: 200 OK
{
"schemaVersion": "marrow-source-run-evidence-v1",
"run": { "id": "f1a3…", "sourceKind": "url", "datedAt": "2026-05-12" },
"limits": { "maxNotes": 8, "maxClaims": 12, "maxChars": 20000, "minNoteWords": 80 },
"notes": [
{
"id": "9b2c…",
"excerpt": "On the Northstar team, I drove the onboarding rollout into production launch …",
"sourceKind": "url",
"confidenceKind": "asserted",
"confidenceScore": 0.95,
"facets": ["cross-functional-delivery"]
}
],
"claims": [
{
"id": "1f0e…",
"text": "Avery led cross-functional delivery of the Northstar onboarding rollout.",
"confidenceKind": "asserted",
"confidenceScore": 0.92,
"facets": ["cross-functional-delivery", "onboarding-rollout"],
"extractedFromNoteIds": ["9b2c…"]
}
]
}
#Errors
| Code |
error.code |
Reason |
| 401 |
unauthorized |
Missing or invalid API key |
| 403 |
forbidden |
API key lacks scope evidence |
| 404 |
not_found |
Source run does not exist for this account |
| 422 |
validation_error |
Path uuid or query params failed validation |
| 429 |
rate_limit_exceeded |
Rate limit hit |
#CLI mapping
npm run dev -- inspect runs
npm run dev -- inspect run <source_run_id>
npm run dev -- source-run evidence <source_run_id> --out source-evidence.md