review. Open one, read the redacted ticket and the answers, and record a label. The label does not change the evaluation.
GET /api/reviews requires judgments:read. It returns up to 50 rows and a nextCursor. Each item includes result and redactedTicket.
Write a label
POST /api/evaluations/{id}/labels requires labels:write.
note is optional, at most 500 characters. A question that is not on that version is 400 with question not found on this evaluation's pack version. A label of the wrong shape is 400 with label does not fit the question.
DELETE /api/evaluations/{id}/labels/{questionId} returns 204.
The evaluation payload then includes the label and agreement: a boolean, or null when the model answer cannot be compared. Agreement compares the label to the stored answer. It does not move status and it does not change the probability.