Skip to content

Create Extract Review

ExtractReview Extract.Review.Create(ReviewCreateParamsparameters, CancellationTokencancellationToken = default)
POST/api/v2/extract/{job_id}/review

Beta: answers 403 until extract review is enabled for the caller and their organization.

Turn review on for an extract job.

Fields read below confidence_threshold, and required fields left empty, are flagged for a person to check. Every setting has a default, so the body can be left out. A job still running can be named: it waits for review once it completes. A job that failed or was cancelled without a review, or that cannot be reviewed, answers 409 with code: job_not_reviewable; a field in fields_in_scope the job’s schema does not have answers 400.

Answers 201 with the new review, or 200 with the job’s existing review, whose settings stay as they are.

ParametersExpand Collapse
ReviewCreateParams parameters
required string jobID

Path param

string? organizationID

Query param

formatuuid
string? projectID

Query param

formatuuid
Double confidenceThreshold

Body param: Fields read below this confidence are flagged.

maximum1
minimum0
IReadOnlyList<string> fieldsInScope

Body param: JSON Pointers of the fields the threshold applies to; empty means all.

IReadOnlyList<string>? requiredFields

Body param: JSON Pointers of fields flagged when empty; defaults to the schema’s required.

ReturnsExpand Collapse
class ExtractReview:

An extract job’s review: its settings, flags, field actions and decision, with the result as read and as reviewed.

required string ID

Unique identifier of the review.

required Double ConfidenceThreshold

Fields read below this confidence are flagged.

required DateTimeOffset CreatedAt

When review was turned on.

formatdate-time
required DateTimeOffset? DecidedAt

When it was approved or rejected.

formatdate-time
required string? DecidedBy

ID of the user who approved or rejected it.

required string? DecidedReason

Why it was rejected.

required IReadOnlyDictionary<string, FieldActionsItem> FieldActions

The latest action per field, keyed by JSON Pointer.

required Action Action

confirm, correct or clear.

One of the following:
"clear"Clear
"confirm"Confirm
"correct"Correct
required string ActorID

ID of the user who acted.

required DateTimeOffset At

When they acted.

formatdate-time
JsonElement Value

The corrected value, for correct.

required IReadOnlyList<string> FieldsInScope

JSON Pointers of the fields the threshold applies to; empty means all.

required IReadOnlyList<Flag> Flags

Fields the review asks a person to check.

required Boolean Handled

Whether someone confirmed, corrected or cleared it.

required string Path

JSON Pointer of the field.

required Reason Reason

below_threshold, or required_empty for a required field left empty.

One of the following:
"below_threshold"BelowThreshold
"required_empty"RequiredEmpty
Cell? Cell

Where in a list the least confident value is.

required Long Row

Index of the row, from 0.

string? Column

Property of the row, when rows are objects.

Double? Confidence

The field’s confidence; for a list, its least confident value.

required string JobID

The extract job reviewed.

required IReadOnlyList<string> OpenFlags

JSON Pointers of flagged fields nobody checked.

required IReadOnlyDictionary<string, JsonElement>? OriginalResult

The result as the model read it.

required IReadOnlyList<string> RequiredFields

JSON Pointers of fields flagged when empty.

required DateTimeOffset RetainUntil

When the job and its document may be deleted.

formatdate-time
required IReadOnlyDictionary<string, JsonElement> ReviewedResult

The result with the field actions.

required Long Revision

Bumped by every change; actions name the one they saw.

required string? SourceFileID

The file the job read, or the file behind the parse job it read; null for a URL.

required Status Status

pending until approved or rejected.

One of the following:
"approved"Approved
"pending"Pending
"rejected"Rejected
required DateTimeOffset UpdatedAt

When the review last changed.

formatdate-time

Create Extract Review

ReviewCreateParams parameters = new() { JobID = "job_id" };

var extractReview = await client.Extract.Review.Create(parameters);

Console.WriteLine(extractReview);
{
  "id": "id",
  "confidence_threshold": 0,
  "created_at": "2019-12-27T18:11:19.117Z",
  "decided_at": "2019-12-27T18:11:19.117Z",
  "decided_by": "decided_by",
  "decided_reason": "decided_reason",
  "field_actions": {
    "foo": {
      "action": "clear",
      "actor_id": "actor_id",
      "at": "2019-12-27T18:11:19.117Z",
      "value": {}
    }
  },
  "fields_in_scope": [
    "string"
  ],
  "flags": [
    {
      "handled": true,
      "path": "path",
      "reason": "below_threshold",
      "cell": {
        "row": 0,
        "column": "column"
      },
      "confidence": 0
    }
  ],
  "job_id": "job_id",
  "open_flags": [
    "string"
  ],
  "original_result": {
    "foo": "bar"
  },
  "required_fields": [
    "string"
  ],
  "retain_until": "2019-12-27T18:11:19.117Z",
  "reviewed_result": {
    "foo": "bar"
  },
  "revision": 0,
  "source_file_id": "source_file_id",
  "status": "approved",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "id",
  "confidence_threshold": 0,
  "created_at": "2019-12-27T18:11:19.117Z",
  "decided_at": "2019-12-27T18:11:19.117Z",
  "decided_by": "decided_by",
  "decided_reason": "decided_reason",
  "field_actions": {
    "foo": {
      "action": "clear",
      "actor_id": "actor_id",
      "at": "2019-12-27T18:11:19.117Z",
      "value": {}
    }
  },
  "fields_in_scope": [
    "string"
  ],
  "flags": [
    {
      "handled": true,
      "path": "path",
      "reason": "below_threshold",
      "cell": {
        "row": 0,
        "column": "column"
      },
      "confidence": 0
    }
  ],
  "job_id": "job_id",
  "open_flags": [
    "string"
  ],
  "original_result": {
    "foo": "bar"
  },
  "required_fields": [
    "string"
  ],
  "retain_until": "2019-12-27T18:11:19.117Z",
  "reviewed_result": {
    "foo": "bar"
  },
  "revision": 0,
  "source_file_id": "source_file_id",
  "status": "approved",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Note for AI agents: this documentation is built for programmatic access. - Overview of all docs: https://developers.llamaindex.ai/llms.txt - Any page is available as raw Markdown by appending index.md to its URL — e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md - Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ — search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters. - A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/for-agents/mcp/ - Other LlamaIndex tooling for agents — the LlamaParse Platform MCP server, agent skills and plugins, and the n8n node — is mapped at https://developers.llamaindex.ai/for-agents/