Skip to content

Reject Extract Review

ExtractReview extract().review().reject(ReviewRejectParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/api/v2/extract/{job_id}/review/reject

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

Reject the result, with a reason. A job that failed or was cancelled can be rejected, which closes a review turned on while it ran. A job still queued or running answers 409 with code: job_not_reviewable. A revision other than the review’s latest answers 409 with code: stale_revision and the latest revision.

ParametersExpand Collapse
ReviewRejectParams params
Optional<String> jobId
Optional<String> organizationId
Optional<String> projectId
String reason

Why the result was rejected.

minLength1
long revision

The review’s revision as the caller last read it.

minimum0
ReturnsExpand Collapse
class ExtractReview:

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

String id

Unique identifier of the review.

double confidenceThreshold

Fields read below this confidence are flagged.

LocalDateTime createdAt

When review was turned on.

formatdate-time
Optional<LocalDateTime> decidedAt

When it was approved or rejected.

formatdate-time
Optional<String> decidedBy

ID of the user who approved or rejected it.

Optional<String> decidedReason

Why it was rejected.

FieldActions fieldActions

The latest action per field, keyed by JSON Pointer.

Action action

confirm, correct or clear.

One of the following:
CLEAR("clear")
CONFIRM("confirm")
CORRECT("correct")
String actorId

ID of the user who acted.

LocalDateTime at

When they acted.

formatdate-time
Optional<JsonValue> value

The corrected value, for correct.

List<String> fieldsInScope

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

List<Flag> flags

Fields the review asks a person to check.

boolean handled

Whether someone confirmed, corrected or cleared it.

String path

JSON Pointer of the field.

Reason reason

below_threshold, or required_empty for a required field left empty.

One of the following:
BELOW_THRESHOLD("below_threshold")
REQUIRED_EMPTY("required_empty")
Optional<Cell> cell

Where in a list the least confident value is.

long row

Index of the row, from 0.

Optional<String> column

Property of the row, when rows are objects.

Optional<Double> confidence

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

String jobId

The extract job reviewed.

List<String> openFlags

JSON Pointers of flagged fields nobody checked.

Optional<OriginalResult> originalResult

The result as the model read it.

List<String> requiredFields

JSON Pointers of fields flagged when empty.

LocalDateTime retainUntil

When the job and its document may be deleted.

formatdate-time
ReviewedResult reviewedResult

The result with the field actions.

long revision

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

Optional<String> sourceFileId

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

Status status

pending until approved or rejected.

One of the following:
APPROVED("approved")
PENDING("pending")
REJECTED("rejected")
LocalDateTime updatedAt

When the review last changed.

formatdate-time

Reject Extract Review

package ai.llamaindex.llamacloud.example;

import ai.llamaindex.llamacloud.client.LlamaCloudClient;
import ai.llamaindex.llamacloud.client.okhttp.LlamaCloudOkHttpClient;
import ai.llamaindex.llamacloud.models.extract.review.ExtractReview;
import ai.llamaindex.llamacloud.models.extract.review.ReviewRejectParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudClient client = LlamaCloudOkHttpClient.fromEnv();

        ReviewRejectParams params = ReviewRejectParams.builder()
            .jobId("job_id")
            .reason("The invoice total does not match the line items.")
            .revision(0L)
            .build();
        ExtractReview extractReview = client.extract().review().reject(params);
    }
}
{
  "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/