Skip to main content

Get Review Item

Fetch one review record with GET /v1/review/:id: overall confidence, the low-confidence fields that need attention, field decisions, and review comments.

GET /v1/review/:id retrieves the full detail of a single Record Review item: a validation record awaiting or having completed record-level human review. Beyond the list-level fields, the detail adds field_decisions (per-field review decisions), low_confidence_fields (the flagged fields with their values and scores), and review_comment. This is the data needed to build custom review interfaces.

low_confidence_fields is an array of objects, not bare field names. Each entry carries field_id, field_name, the extraction confidence for that field, the extracted value itself, and the expected_type from the schema. Fields land here when their extraction confidence fell below 0.85 at run completion, so the array gives a reviewer everything needed to judge a flagged value without a second lookup — the questionable value and what type the schema expected it to be.

field_decisions is an object keyed by field id, each value holding a status (approved or rejected) and an optional comment. It is populated by the platform's partial-approval flow, where a reviewer accepts some fields and rejects others; such records carry the overall status partial. Through the public API the object is read-only — [POST /v1/review/:id/action](review-action) records whole-record decisions and does not write per-field entries.

To show reviewers the actual extracted record alongside the flags, join outward: run_id and document_id identify the result row — fetch it via the run's results endpoint ([GET /v1/jobs/:id/results](get-job-results)) — and document_id also keys the source file and its OCR text for side-by-side display. A typical review UI fetches this detail, highlights the low_confidence_fields entries against the full record, and submits one action call with the verdict.

A 404 from this endpoint means the record id does not exist in your workspace — or that the record's source document is hidden from the API key's minting user by source-visibility rules. The two cases are deliberately indistinguishable, so treat 404 as "not yours to see" rather than proof of deletion. The id must be a well-formed UUID; anything else fails validation with a 400 before lookup.

The low_confidence_fields array lists the specific fields that fell below the confidence threshold, with their extracted values and expected types. Use it to highlight problematic cells in your review UI — it is why the record needs eyes on it.
GET/v1/review/:id

Path parameters

id*uuidThe review record id, from GET /v1/review.

curl

curl -s https://api.talonic.com/v1/review/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "Authorization: Bearer tlnc_your_api_key"

Response

Response fields

idstringReview record UUID.
run_idstringUUID of the run (Job or Pipeline run).
document_idstringUUID of the associated document.
schema_idstring | nullUUID of the schema used.
statusstringRecord status: pending, approved, rejected, auto_approved, or partial.
overall_confidencenumber | nullAggregate confidence score (0–1).
assigned_tostring | nullUUID of the assigned reviewer.
reviewed_bystring | nullUUID of the team member who last reviewed. Stays null for API-key decisions.
reviewed_atstring | nullISO 8601 timestamp of the last review action.
created_atstringISO 8601 creation timestamp.
linksobjectRelated resource URLs (self, action).
field_decisionsobjectPer-field decisions keyed by field id: { "<field_id>": { "status": "approved" | "rejected", "comment": "..." } }. Empty object until per-field decisions are recorded.
low_confidence_fieldsarrayFlagged fields, each with field_id, field_name, confidence, value, and expected_type. Empty when nothing scored below the threshold.
review_commentstring | nullComment added during the last review action.

Response

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "run_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "document_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "schema_id": "d4e5f6a7-b8c9-0123-defa-234567890123",
  "status": "pending",
  "overall_confidence": 0.72,
  "assigned_to": null,
  "reviewed_by": null,
  "reviewed_at": null,
  "created_at": "2026-08-12T09:00:00.000Z",
  "links": {
    "self": "/v1/review/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "action": "/v1/review/a1b2c3d4-e5f6-7890-abcd-ef1234567890/action"
  },
  "field_decisions": {},
  "low_confidence_fields": [
    {
      "field_id": "d81c2f4a-1b2c-4d5e-8f90-1a2b3c4d5e6f",
      "field_name": "total_amount",
      "confidence": 0.62,
      "value": "1.284,50",
      "expected_type": "number"
    }
  ],
  "review_comment": null
}

Errors

Error responses

400validation_errorThe id path parameter is not a well-formed UUID.
401unauthorizedMissing or invalid API key.
404not_foundReview record not found, not in your workspace, or its source document is hidden from your key by source-visibility rules.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.

Use the low_confidence_fields array to highlight problematic cells in your review UI before calling POST /v1/review/:id/action. On records already actioned in the platform, field_decisions and review_comment show what the reviewer decided — useful for syncing decisions into an external system of record after the fact.

Frequently asked questions

What are low_confidence_fields?+
An array of objects describing each field whose extraction confidence fell below the 0.85 threshold: field_id, field_name, the confidence score, the extracted value, and the type the schema expected. These are the fields that made the record worth human attention, packaged so a reviewer can judge them without further lookups.
Can I see the full extracted data for a review item?+
The review item carries run_id and document_id but not the record's field values (beyond the flagged ones). Fetch the run's results via GET /v1/jobs/:id/results and match on document_id to display the complete extracted record next to the flags.
What is stored in field_decisions?+
Per-field verdicts keyed by field id, each with a status of approved or rejected plus an optional comment. They are written by the platform's partial-approval flow (overall status partial); the public action endpoint records whole-record decisions only, so via the API this object is effectively read-only.
Why do I get 404 for an id that exists in the platform UI?+
Single-record reads 404 when the record's source document is hidden from the user who minted your API key, identically to a truly missing id. Check the key owner's source-visibility rules — the record is there, but not for that key.