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