Get Annotation At Version
The annotation exactly as it stood at a given version (ADM-15).
Reproducible evaluation: pin (annotation_id, version) and this route returns the identical judgment later, however many edits followed.
Authorizations
Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing header returns 403; an invalid or revoked key returns 401.
Namespace id (ns_...), not the namespace name. This scopes the request rather than authenticating it, and it is required on every operation marked x-mixpeek-namespace-scoped.
Response
Successful Response
Single annotation response.
The document this annotation is attached to.
Namespace scope.
Human decision label. Domain-specific — e.g. 'approved', 'rejected', 'deferred', 'infringement', 'safe', 'confirmed_dupe'.
1 - 100Unique annotation identifier.
Collection the document belongs to.
Human confidence in this decision (0.0–1.0).
0 <= x <= 1Why this decision was made. Stored for audit trail.
5000Use-case-specific structured data. E.g. {'codes_approved': ['E11.40'], 'raf_impact': 0.302}
Retriever that produced the document being annotated.
Retriever execution ID.
Stage that produced the result (e.g. 'llm_enrich').
Who made the annotation (user ID or API key ID).
Actor type: 'user', 'api_key', or 'system'.
Current version; starts at 1, bumps per edit.
Backward deltas preserving every superseded version.

