## Get Verify Job

`$ llp alpha:verify get`

**get** `/api/alpha/verify/{job_id}`

Get a Verify job by ID.

Returns the job status and configuration. Pass `expand=result`
to include the Verify result (overall score, verdict, confidence,
composite scores, and suspect regions) when the job is complete.

Raw per-signal detail is available via `GET /verify/{job_id}/details`.

### Parameters

- `--job-id: string`

- `--expand: optional array of string`

  Optional fields to include (e.g. `result`).

- `--organization-id: optional string`

- `--project-id: optional string`

### Returns

- `AlphaVerifyGetResponse: object { id, configuration, document_input_type, 9 more }`

  Response for a Verify job.

  - `id: string`

    Unique identifier

  - `configuration: object { target_pages, tier }`

    Verify configuration used for this job

    - `target_pages: optional string`

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

    - `tier: optional "agentic" or "fast"`

      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"`

      - `"fast"`

  - `document_input_type: "file_id" or "parse_job_id" or "url"`

    Type of the document input (FILE)

    - `"file_id"`

    - `"parse_job_id"`

    - `"url"`

  - `file_input: string`

    ID of the input file

  - `project_id: string`

    Project this job belongs to

  - `status: "CANCELLED" or "COMPLETED" or "FAILED" or 2 more`

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

    - `"CANCELLED"`

    - `"COMPLETED"`

    - `"FAILED"`

    - `"PENDING"`

    - `"RUNNING"`

  - `user_id: string`

    User who created this job

  - `created_at: optional string`

    Creation datetime

  - `error_message: optional string`

    Error message if job failed

  - `result: optional object { detector_version, overall_score, verdict, 9 more }`

    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.

    - `detector_version: string`

      Version of the detector that produced the result

    - `overall_score: number`

      Overall doctoring likelihood (0 to 1)

    - `verdict: "AUTHENTIC" or "DOCTORED" or "LIKELY_DOCTORED" or 2 more`

      Overall verdict for the document

      - `"AUTHENTIC"`

      - `"DOCTORED"`

      - `"LIKELY_DOCTORED"`

      - `"NO_STRONG_SIGNAL"`

      - `"SUSPICIOUS"`

    - `composite_scores: optional object { ai_generated, document_coherence, document_metadata, 3 more }`

      Composite scores, each answering one question about the document

      - `ai_generated: optional object { applicable, score }`

        Was this content synthesized by a generative model?

        - `applicable: optional boolean`

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

        - `score: optional number`

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

      - `document_coherence: optional object { applicable, score }`

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

        - `applicable: optional boolean`

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

        - `score: optional number`

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

      - `document_metadata: optional object { applicable, score }`

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

        - `applicable: optional boolean`

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

        - `score: optional number`

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

      - `known_fraud: optional object { applicable, score }`

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

        - `applicable: optional boolean`

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

        - `score: optional number`

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

      - `manually_edited: optional object { applicable, score }`

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

        - `applicable: optional boolean`

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

        - `score: optional number`

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

      - `recapture: optional object { applicable, score }`

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

        - `applicable: optional boolean`

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

        - `score: optional number`

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

    - `confidence: optional number`

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

    - `error: optional string`

      Error detail when the analysis could not complete

    - `page_count: optional number`

      Number of analysed pages (1 for images/docx)

    - `page_dimensions: optional array of object { height, page, width }`

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

      - `height: number`

        Rendered page height in pixels

      - `page: number`

        0-based page index (0 for standalone images)

      - `width: number`

        Rendered page width in pixels

    - `reasoning: optional string`

      Explanation of the verdict

    - `suspect_regions: optional array of object { bbox, explanation, kind, 5 more }`

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

      - `bbox: array of number`

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

      - `explanation: string`

        Human-readable explanation of what makes this region suspect

      - `kind: string`

        Kind of anomaly detected in this region

      - `page: number`

        0-based page index (0 for standalone images)

      - `score: number`

        Suspicion score for this region (0 to 1)

      - `source: string`

        Detector that flagged this region

      - `primary: optional boolean`

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

      - `review: optional string`

        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

    - `synthetic_score: optional number`

      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

    - `tampering_score: optional number`

      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

  - `transaction_id: optional string`

    Idempotency key

  - `updated_at: optional string`

    Update datetime

### Example

```cli
llp alpha:verify get \
  --api-key 'My API Key' \
  --job-id job_id
```

#### 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"
}
```
