## Create Verify Job

`VerifyCreateResponse alpha().verify().create(VerifyCreateParamsparams = VerifyCreateParams.none(), RequestOptionsrequestOptions = RequestOptions.none())`

**post** `/api/alpha/verify`

Create a Verify job.

Analyzes a document for signs of doctoring (splicing, copy-move,
AI generation, metadata tampering, ...). Set `file_input` to a
file ID (`dfl-...`). Optionally provide a `configuration` object
to control the semantic agent.

The job runs asynchronously. Poll `GET /verify/{job_id}`
with `expand=result` to check status and retrieve results.

### Parameters

- `VerifyCreateParams params`

  - `Optional<String> organizationId`

  - `Optional<String> projectId`

  - `Optional<Configuration> configuration`

    Configuration for a Verify job.

    - `Optional<String> targetPages`

      Comma-separated page numbers or ranges to analyze (1-based). Omit to analyze all pages. Ignored for non-PDF inputs.

    - `Optional<Tier> tier`

      Verify tier: 'fast' runs only the quick deterministic forensic checks (metadata, content integrity, container structure, pixel statistics); 'agentic' (default) runs the full pipeline including the learned detectors and the semantic review pass.

      - `AGENTIC("agentic")`

      - `FAST("fast")`

  - `Optional<String> fileId`

    Deprecated: use file_input instead

  - `Optional<String> fileInput`

    File ID of the document to analyze

  - `Optional<String> transactionId`

    Idempotency key scoped to the project. Reusing a key returns the original job; the new request body is ignored.

  - `Optional<List<String>> webhookConfigurationIds`

    IDs of saved webhook configurations to notify for this job.

  - `Optional<List<WebhookConfiguration>> webhookConfigurations`

    Outbound webhook endpoints to notify on job status changes

    - `Optional<List<WebhookEvent>> webhookEvents`

      Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.

      - `BATCH_CANCELLED("batch.cancelled")`

      - `BATCH_ERROR("batch.error")`

      - `BATCH_PENDING("batch.pending")`

      - `BATCH_RUNNING("batch.running")`

      - `BATCH_SUCCESS("batch.success")`

      - `CLASSIFY_CANCELLED("classify.cancelled")`

      - `CLASSIFY_ERROR("classify.error")`

      - `CLASSIFY_PARTIAL_SUCCESS("classify.partial_success")`

      - `CLASSIFY_PENDING("classify.pending")`

      - `CLASSIFY_RUNNING("classify.running")`

      - `CLASSIFY_SUCCESS("classify.success")`

      - `EXTRACT_CANCELLED("extract.cancelled")`

      - `EXTRACT_ERROR("extract.error")`

      - `EXTRACT_PARTIAL_SUCCESS("extract.partial_success")`

      - `EXTRACT_PENDING("extract.pending")`

      - `EXTRACT_SUCCESS("extract.success")`

      - `PARSE_CANCELLED("parse.cancelled")`

      - `PARSE_ERROR("parse.error")`

      - `PARSE_PARTIAL_SUCCESS("parse.partial_success")`

      - `PARSE_PENDING("parse.pending")`

      - `PARSE_RUNNING("parse.running")`

      - `PARSE_SUCCESS("parse.success")`

      - `SHEETS_CANCELLED("sheets.cancelled")`

      - `SHEETS_ERROR("sheets.error")`

      - `SHEETS_PARTIAL_SUCCESS("sheets.partial_success")`

      - `SHEETS_PENDING("sheets.pending")`

      - `SHEETS_SUCCESS("sheets.success")`

      - `SPLIT_CANCELLED("split.cancelled")`

      - `SPLIT_ERROR("split.error")`

      - `SPLIT_PENDING("split.pending")`

      - `SPLIT_PROCESSING("split.processing")`

      - `SPLIT_SUCCESS("split.success")`

      - `UNMAPPED_EVENT("unmapped_event")`

      - `VERIFY_CANCELLED("verify.cancelled")`

      - `VERIFY_ERROR("verify.error")`

      - `VERIFY_PENDING("verify.pending")`

      - `VERIFY_RUNNING("verify.running")`

      - `VERIFY_SUCCESS("verify.success")`

    - `Optional<WebhookHeaders> webhookHeaders`

      Custom HTTP headers sent with each webhook request (e.g. auth tokens)

    - `Optional<String> webhookOutputFormat`

      Response format sent to the webhook: 'string' (default) or 'json'

    - `Optional<String> webhookSigningSecret`

      Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the 'LC-Signature' header (value 'sha256=<hex>'). Recompute the HMAC over the raw request body with this secret to verify the delivery is authentic.

    - `Optional<String> webhookUrl`

      URL to receive webhook POST notifications

### Returns

- `class VerifyCreateResponse:`

  Response for a Verify job.

  - `String id`

    Unique identifier

  - `Configuration configuration`

    Verify configuration used for this job

    - `Optional<String> targetPages`

      Comma-separated page numbers or ranges to analyze (1-based). Omit to analyze all pages. Ignored for non-PDF inputs.

    - `Optional<Tier> tier`

      Verify tier: 'fast' runs only the quick deterministic forensic checks (metadata, content integrity, container structure, pixel statistics); 'agentic' (default) runs the full pipeline including the learned detectors and the semantic review pass.

      - `AGENTIC("agentic")`

      - `FAST("fast")`

  - `DocumentInputType documentInputType`

    Type of the document input (FILE)

    - `FILE_ID("file_id")`

    - `PARSE_JOB_ID("parse_job_id")`

    - `URL("url")`

  - `String fileInput`

    ID of the input file

  - `String projectId`

    Project this job belongs to

  - `Status status`

    Current job status: PENDING, RUNNING, COMPLETED, FAILED, or CANCELLED

    - `CANCELLED("CANCELLED")`

    - `COMPLETED("COMPLETED")`

    - `FAILED("FAILED")`

    - `PENDING("PENDING")`

    - `RUNNING("RUNNING")`

  - `String userId`

    User who created this job

  - `Optional<LocalDateTime> createdAt`

    Creation datetime

  - `Optional<String> errorMessage`

    Error message if job failed

  - `Optional<Result> result`

    Result of a Verify (doctored-document) analysis.

    Raw per-signal detail (evidence list, per-family sub-scores, raw regions,
    forensic heatmaps) is available separately via the job's details endpoint.

    - `String detectorVersion`

      Version of the detector that produced the result

    - `double overallScore`

      Overall doctoring likelihood (0 to 1)

    - `Verdict verdict`

      Overall verdict for the document

      - `AUTHENTIC("AUTHENTIC")`

      - `DOCTORED("DOCTORED")`

      - `LIKELY_DOCTORED("LIKELY_DOCTORED")`

      - `NO_STRONG_SIGNAL("NO_STRONG_SIGNAL")`

      - `SUSPICIOUS("SUSPICIOUS")`

    - `Optional<CompositeScores> compositeScores`

      Composite scores, each answering one question about the document

      - `Optional<AiGenerated> aiGenerated`

        Was this content synthesized by a generative model?

        - `Optional<Boolean> applicable`

          Whether the checks feeding this composite ran on this document. When false the document was not checked for this — not cleared of it

        - `Optional<Double> score`

          Score (0 to 1); null when the composite was not applicable

      - `Optional<DocumentCoherence> documentCoherence`

        Does the document's content agree with itself (checksums, arithmetic, machine-readable zones)?

        - `Optional<Boolean> applicable`

          Whether the checks feeding this composite ran on this document. When false the document was not checked for this — not cleared of it

        - `Optional<Double> score`

          Score (0 to 1); null when the composite was not applicable

      - `Optional<DocumentMetadata> documentMetadata`

        Does the file's provenance / toolchain history look suspicious? Advisory: individually weak workflow-hygiene signals

        - `Optional<Boolean> applicable`

          Whether the checks feeding this composite ran on this document. When false the document was not checked for this — not cleared of it

        - `Optional<Double> score`

          Score (0 to 1); null when the composite was not applicable

      - `Optional<KnownFraud> knownFraud`

        Has this asset (or its template) been seen in fraud before?

        - `Optional<Boolean> applicable`

          Whether the checks feeding this composite ran on this document. When false the document was not checked for this — not cleared of it

        - `Optional<Double> score`

          Score (0 to 1); null when the composite was not applicable

      - `Optional<ManuallyEdited> manuallyEdited`

        Was this document altered after creation (splice, retype, redact, inpaint)?

        - `Optional<Boolean> applicable`

          Whether the checks feeding this composite ran on this document. When false the document was not checked for this — not cleared of it

        - `Optional<Double> score`

          Score (0 to 1); null when the composite was not applicable

      - `Optional<Recapture> recapture`

        Was the document captured through a channel that destroys forensic evidence (photo of a screen, print-then-rescan)?

        - `Optional<Boolean> applicable`

          Whether the checks feeding this composite ran on this document. When false the document was not checked for this — not cleared of it

        - `Optional<Double> score`

          Score (0 to 1); null when the composite was not applicable

    - `Optional<Double> confidence`

      Confidence in the verdict (0 to 1): how firmly the detected signals support the verdict bucket, independent of the doctoring likelihood itself

    - `Optional<String> error`

      Error detail when the analysis could not complete

    - `Optional<Long> pageCount`

      Number of analysed pages (1 for images/docx)

    - `Optional<List<PageDimension>> pageDimensions`

      Rendered pixel size per page, so region bboxes can be scaled onto the page

      - `long height`

        Rendered page height in pixels

      - `long page`

        0-based page index (0 for standalone images)

      - `long width`

        Rendered page width in pixels

    - `Optional<String> reasoning`

      Explanation of the verdict

    - `Optional<List<SuspectRegion>> suspectRegions`

      Regions that led to the suspected fraud, ranked most-suspect first, each with an explanation of what makes it suspect

      - `List<long> bbox`

        Region bounding box as [x, y, w, h] in page-render pixels

      - `String explanation`

        Human-readable explanation of what makes this region suspect

      - `String kind`

        Kind of anomaly detected in this region

      - `long page`

        0-based page index (0 for standalone images)

      - `double score`

        Suspicion score for this region (0 to 1)

      - `String source`

        Detector that flagged this region

      - `Optional<Boolean> primary`

        Whether this region is part of the small set of decisive evidence behind the verdict — the boxes a reviewer should look at first

      - `Optional<String> review`

        Automated reviewer verdict for this region (confirmed, dismissed, unsure, or empty). A dismissed region can still be surfaced when it is the only place to look; this label says how to read it

    - `Optional<Double> syntheticScore`

      Likelihood (0 to 1) that the document is wholly generated or fabricated rather than a capture of a real document. Null for jobs completed before this score was introduced

    - `Optional<Double> tamperingScore`

      Likelihood (0 to 1) that a real captured document was locally edited — a genuine capture with regions altered after the fact. Null for jobs completed before this score was introduced

  - `Optional<String> transactionId`

    Idempotency key

  - `Optional<LocalDateTime> updatedAt`

    Update datetime

### Example

```java
package ai.llamaindex.llamacloud.example;

import ai.llamaindex.llamacloud.client.LlamaCloudClient;
import ai.llamaindex.llamacloud.client.okhttp.LlamaCloudOkHttpClient;
import ai.llamaindex.llamacloud.models.alpha.verify.VerifyCreateParams;
import ai.llamaindex.llamacloud.models.alpha.verify.VerifyCreateResponse;

public final class Main {
    private Main() {}

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

        VerifyCreateResponse verify = client.alpha().verify().create();
    }
}
```

#### Response

```json
{
  "id": "id",
  "configuration": {
    "target_pages": "1,3,5-7",
    "tier": "agentic"
  },
  "document_input_type": "file_id",
  "file_input": "file_input",
  "project_id": "project_id",
  "status": "CANCELLED",
  "user_id": "user_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "result": {
    "detector_version": "detector_version",
    "overall_score": 0,
    "verdict": "AUTHENTIC",
    "composite_scores": {
      "ai_generated": {
        "applicable": true,
        "score": 0
      },
      "document_coherence": {
        "applicable": true,
        "score": 0
      },
      "document_metadata": {
        "applicable": true,
        "score": 0
      },
      "known_fraud": {
        "applicable": true,
        "score": 0
      },
      "manually_edited": {
        "applicable": true,
        "score": 0
      },
      "recapture": {
        "applicable": true,
        "score": 0
      }
    },
    "confidence": 0,
    "error": "error",
    "page_count": 1,
    "page_dimensions": [
      {
        "height": 0,
        "page": 0,
        "width": 0
      }
    ],
    "reasoning": "reasoning",
    "suspect_regions": [
      {
        "bbox": [
          0,
          0,
          0,
          0
        ],
        "explanation": "explanation",
        "kind": "kind",
        "page": 0,
        "score": 0,
        "source": "source",
        "primary": true,
        "review": "review"
      }
    ],
    "synthetic_score": 0,
    "tampering_score": 0
  },
  "transaction_id": "transaction_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```
