Hatchery HTTP API

Version 0.1.0. Every operation below is callable from this origin. The machine-readable form is openapi.json, generated from the same catalogue that renders this page, so the two cannot disagree.

Getting a credential

An operator presents the deployment credential as Authorization: Bearer <token>, or exchanges it once for a browser session at POST /api/v1/session. A shared link carries its own authority in the URL: everything under /s/{secret}/api/v1/… is the same API under that grant's scope.

Start at /api/v1/context. It reports the workspaces you can reach, the actions you hold, the query fields and operators, the metric definitions, and the effective limits.

Conventions

Lists
{data, page: {returned, next_cursor, has_more}, meta}.
Resources
Carry links.canonical, links.api, and links.ui.
Errors
application/problem+json with type, title, status, detail, code, and field errors.
Mutations
Accept Idempotency-Key. An identical retry returns the same result; different content under one key is 409.
Preconditions
Runs and report drafts require If-Match. A stale write is 412.
Revisions
Queries, exports, citations, and publications pin an exact revision. A run's pointer is a convenience, never a citation.

Operations

MethodPathResultActionEffect
GET /api/v1 Service version and documentation links. none read
GET /api/v1/openapi.json The generated HTTP schemas, with no customer data in them. none read
GET /api/v1/context Available workspaces, actions, field schemas, metric definitions, and effective policy. none read
POST /api/v1/session Exchange the operator credential for a browser session. none mutation
GET /api/v1/session The principal this session resolves to, and what it can do. none read
DELETE /api/v1/session End the session. Idempotent: signing out twice is not an error. none mutation
GET /api/v1/workspaces Workspaces this caller can reach. none read
POST /api/v1/workspaces Create a workspace. workspaces:manage mutation
GET /api/v1/workspaces/{workspace} Workspace metadata. evidence:read read
PATCH /api/v1/workspaces/{workspace} Change workspace display metadata. workspaces:manage mutation
GET /api/v1/workspaces/{workspace}/datasets/{dataset} Captured manifest and item schema. evidence:read read
GET /api/v1/workspaces/{workspace}/datasets/{dataset}/items Paged source items. evidence:read read
GET /api/v1/workspaces/{workspace}/datasets/{dataset}/items/{item} Exact input and available source files. evidence:read read
GET /api/v1/workspaces/{workspace}/columns Imported collections, filterable by producer run. evidence:read read
GET /api/v1/workspaces/{workspace}/columns/{column} Freeze manifest, source configuration, and coverage. evidence:read read
GET /api/v1/workspaces/{workspace}/attempts Source attempts, filterable by column, item, or execution status. evidence:read read
GET /api/v1/workspaces/{workspace}/attempts/{attempt} The original normalized record, source values, output artifacts, and trace. evidence:read read
GET /api/v1/workspaces/{workspace}/evaluations Grading plans and correction imports over source attempts. evidence:read read
GET /api/v1/workspaces/{workspace}/evaluations/{evaluation} Attempt roster, rubric, judge configuration, origin, and producer score policy. evidence:read read
GET /api/v1/workspaces/{workspace}/evaluations/{evaluation}/grades Paged grade records with criterion and assessment filters. evidence:read read
GET /api/v1/workspaces/{workspace}/evaluations/{evaluation}/grades/{grade} Exact verdict, rationale, origin, and supporting artifacts. evidence:read read
GET /api/v1/workspaces/{workspace}/grades/{grade} One grade by id alone, for a citation that does not carry its evaluation. evidence:read read
GET /api/v1/workspaces/{workspace}/evaluations/{evaluation}/disagreements Grade pairs against another evaluation, aligned by criterion. evidence:read read
GET /api/v1/workspaces/{workspace}/traces/{trace} Source identity, captured boundary, and coverage. evidence:read read
GET /api/v1/workspaces/{workspace}/traces/{trace}/events Original rows, bounded by `after`, `limit`, and `types`. evidence:read read
GET /api/v1/workspaces/{workspace}/traces/{trace}/events/{seq} One event at its retained sequence. evidence:read read
GET /api/v1/workspaces/{workspace}/traces/{trace}/transcript The versioned message and tool projection. evidence:read read
GET /api/v1/workspaces/{workspace}/artifacts Available files, filterable by role, target, and revision. evidence:read read
GET /api/v1/workspaces/{workspace}/artifacts/{artifact} Digest, role, source attribution, and extraction links. evidence:read read
GET /api/v1/workspaces/{workspace}/artifacts/{artifact}/content Retained bytes, with HTTP range support. evidence:read read
GET /api/v1/workspaces/{workspace}/artifacts/{artifact}/text Available text extraction, with its source digest and extractor. evidence:read read
POST /api/v1/workspaces/{workspace}/runs Create a named benchmark with an initial manifest and revision. evidence:curate mutation
GET /api/v1/workspaces/{workspace}/runs Run history and current revision references. evidence:read read
GET /api/v1/workspaces/{workspace}/runs/{run} Metadata and exact links to the selected revision. evidence:read read
PATCH /api/v1/workspaces/{workspace}/runs/{run} Change metadata or the current revision, under `If-Match`. evidence:curate mutation
GET /api/v1/workspaces/{workspace}/runs/{run}/revisions Immutable revision history. evidence:read read
POST /api/v1/workspaces/{workspace}/runs/{run}/revisions/preview Resolve a proposed manifest and return changes, conflicts, coverage, and aggregate deltas. evidence:read read
POST /api/v1/workspaces/{workspace}/runs/{run}/revisions Commit the explicit composition as an immutable revision. evidence:curate mutation
GET /api/v1/workspaces/{workspace}/runs/{run}/revisions/{revision} Resolved manifest, source references, policy, and provenance. evidence:read read
GET /api/v1/workspaces/{workspace}/runs/{run}/revisions/{revision}/attempts Resolved slots and selected evidence, with explicit filters. evidence:read read
GET /api/v1/workspaces/{workspace}/runs/{run}/revisions/{revision}/attempts/{slot} One clean record, with field provenance and original evidence links. evidence:read read
GET /api/v1/workspaces/{workspace}/runs/{run}/revisions/{revision}/changes Applied changes and their supporting evidence. evidence:read read
GET /api/v1/workspaces/{workspace}/runs/{run}/revisions/{revision}/diff Selection and value differences against a base revision. evidence:read read
GET /api/v1/workspaces/{workspace}/runs/{run}/revisions/{revision}/export The complete table as JSONL, with provenance and an export manifest. evidence:read read
POST /api/v1/workspaces/{workspace}/query Typed rows or grouped metrics over selected revisions. evidence:read read
POST /api/v1/workspaces/{workspace}/annotations Add an attributed note or flag with evidence references. analysis:write mutation
GET /api/v1/workspaces/{workspace}/annotations Notes and flags for a target or a revision. evidence:read read
GET /api/v1/workspaces/{workspace}/annotations/{annotation} One attributed note with its source references. evidence:read read
POST /api/v1/workspaces/{workspace}/artifacts Reserve an artifact with its name, media type, size, digest, role, and attribution. evidence:import mutation
PUT /api/v1/workspaces/{workspace}/artifacts/{artifact}/content Upload the bytes and seal them once the digest matches. evidence:import mutation
PUT /api/v1/workspaces/{workspace}/imports/{import} Index a manifest through a pinned adapter and its artifacts. evidence:import mutation
GET /api/v1/workspaces/{workspace}/imports/{import} Validation issues, stage, coverage, and created resource links. evidence:read read
POST /api/v1/workspaces/{workspace}/reports Create a named report with a draft. analysis:write mutation
GET /api/v1/workspaces/{workspace}/reports Accessible reports. evidence:read read
GET /api/v1/workspaces/{workspace}/reports/{report} Metadata and draft or publication links. evidence:read read
GET /api/v1/workspaces/{workspace}/reports/{report}/draft Draft blocks, version, and ETag. evidence:read read
PATCH /api/v1/workspaces/{workspace}/reports/{report}/draft Change the title, description, or blocks, under `If-Match`. analysis:write mutation
POST /api/v1/workspaces/{workspace}/reports/{report}/revisions Publish the exact draft version, under `If-Match`. reports:publish mutation
GET /api/v1/workspaces/{workspace}/reports/{report}/revisions The immutable publications of a report, newest first. evidence:read read
GET /api/v1/workspaces/{workspace}/reports/{report}/revisions/{revision} An immutable publication and its retained block results. evidence:read read
POST /api/v1/workspaces/{workspace}/shares Issue a capability with a selection, actions, visibility, and an explicit expiry. shares:manage mutation
GET /api/v1/workspaces/{workspace}/shares Issued capabilities and their scope. shares:manage read
GET /api/v1/workspaces/{workspace}/shares/{share} Scope, issuer reference, expiry, and revocation state. shares:manage read
DELETE /api/v1/workspaces/{workspace}/shares/{share} Revoke subsequent access through this capability. shares:manage mutation