Skip to content

Alpha

AlphaVerify

List Verify Jobs
client.alpha.verify.list(VerifyListParams { created_at_on_or_after, created_at_on_or_before, expand, 6 more } query?, RequestOptionsoptions?): PaginatedCursor<VerifyListResponse { id, configuration, document_input_type, 9 more } >
GET/api/alpha/verify
Create Verify Job
client.alpha.verify.create(VerifyCreateParams { organization_id, project_id, configuration, 5 more } params, RequestOptionsoptions?): VerifyCreateResponse { id, configuration, document_input_type, 9 more }
POST/api/alpha/verify
Get Verify Job
client.alpha.verify.get(stringjobID, VerifyGetParams { expand, organization_id, project_id } query?, RequestOptionsoptions?): VerifyGetResponse { id, configuration, document_input_type, 9 more }
GET/api/alpha/verify/{job_id}
Cancel Verify Job
client.alpha.verify.cancel(stringjobID, VerifyCancelParams { organization_id, project_id } params?, RequestOptionsoptions?): VerifyCancelResponse { id, configuration, document_input_type, 9 more }
POST/api/alpha/verify/{job_id}/cancel
Get Verify Job Details
client.alpha.verify.getDetails(stringjobID, VerifyGetDetailsParams { organization_id, project_id } query?, RequestOptionsoptions?): VerifyGetDetailsResponse { job_id, degraded_tools, evidence, 4 more }
GET/api/alpha/verify/{job_id}/details
ModelsExpand Collapse
VerifyListResponse { id, configuration, document_input_type, 9 more }

Response for a Verify job.

id: string

Unique identifier

configuration: Configuration { target_pages, tier }

Verify configuration used for this job

target_pages?: string | null

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

tier?: "agentic" | "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.

One of the following:
"agentic"
"fast"
document_input_type: "file_id" | "parse_job_id" | "url"

Type of the document input (FILE)

One of the following:
"file_id"
"parse_job_id"
"url"
file_input: string

ID of the input file

project_id: string

Project this job belongs to

status: "CANCELLED" | "COMPLETED" | "FAILED" | 2 more

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

One of the following:
"CANCELLED"
"COMPLETED"
"FAILED"
"PENDING"
"RUNNING"
user_id: string

User who created this job

created_at?: string | null

Creation datetime

formatdate-time
error_message?: string | null

Error message if job failed

result?: Result | null

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)

maximum1
minimum0
verdict: "AUTHENTIC" | "DOCTORED" | "LIKELY_DOCTORED" | 2 more

Overall verdict for the document

One of the following:
"AUTHENTIC"
"DOCTORED"
"LIKELY_DOCTORED"
"NO_STRONG_SIGNAL"
"SUSPICIOUS"
composite_scores?: CompositeScores { ai_generated, document_coherence, document_metadata, 3 more }

Composite scores, each answering one question about the document

ai_generated?: AIGenerated { applicable, score }

Was this content synthesized by a generative model?

applicable?: 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?: number | null

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

maximum1
minimum0
document_coherence?: DocumentCoherence { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
document_metadata?: DocumentMetadata { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
known_fraud?: KnownFraud { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
manually_edited?: ManuallyEdited { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
recapture?: Recapture { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
confidence?: number

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

maximum1
minimum0
error?: string | null

Error detail when the analysis could not complete

page_count?: number

Number of analysed pages (1 for images/docx)

minimum1
page_dimensions?: Array<PageDimension>

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?: string

Explanation of the verdict

suspect_regions?: Array<SuspectRegion>

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

bbox: Array<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)

maximum1
minimum0
source: string

Detector that flagged this region

primary?: 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?: 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?: number | null

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

maximum1
minimum0
tampering_score?: number | null

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

maximum1
minimum0
transaction_id?: string | null

Idempotency key

updated_at?: string | null

Update datetime

formatdate-time
VerifyCreateResponse { id, configuration, document_input_type, 9 more }

Response for a Verify job.

id: string

Unique identifier

configuration: Configuration { target_pages, tier }

Verify configuration used for this job

target_pages?: string | null

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

tier?: "agentic" | "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.

One of the following:
"agentic"
"fast"
document_input_type: "file_id" | "parse_job_id" | "url"

Type of the document input (FILE)

One of the following:
"file_id"
"parse_job_id"
"url"
file_input: string

ID of the input file

project_id: string

Project this job belongs to

status: "CANCELLED" | "COMPLETED" | "FAILED" | 2 more

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

One of the following:
"CANCELLED"
"COMPLETED"
"FAILED"
"PENDING"
"RUNNING"
user_id: string

User who created this job

created_at?: string | null

Creation datetime

formatdate-time
error_message?: string | null

Error message if job failed

result?: Result | null

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)

maximum1
minimum0
verdict: "AUTHENTIC" | "DOCTORED" | "LIKELY_DOCTORED" | 2 more

Overall verdict for the document

One of the following:
"AUTHENTIC"
"DOCTORED"
"LIKELY_DOCTORED"
"NO_STRONG_SIGNAL"
"SUSPICIOUS"
composite_scores?: CompositeScores { ai_generated, document_coherence, document_metadata, 3 more }

Composite scores, each answering one question about the document

ai_generated?: AIGenerated { applicable, score }

Was this content synthesized by a generative model?

applicable?: 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?: number | null

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

maximum1
minimum0
document_coherence?: DocumentCoherence { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
document_metadata?: DocumentMetadata { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
known_fraud?: KnownFraud { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
manually_edited?: ManuallyEdited { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
recapture?: Recapture { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
confidence?: number

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

maximum1
minimum0
error?: string | null

Error detail when the analysis could not complete

page_count?: number

Number of analysed pages (1 for images/docx)

minimum1
page_dimensions?: Array<PageDimension>

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?: string

Explanation of the verdict

suspect_regions?: Array<SuspectRegion>

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

bbox: Array<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)

maximum1
minimum0
source: string

Detector that flagged this region

primary?: 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?: 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?: number | null

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

maximum1
minimum0
tampering_score?: number | null

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

maximum1
minimum0
transaction_id?: string | null

Idempotency key

updated_at?: string | null

Update datetime

formatdate-time
VerifyGetResponse { id, configuration, document_input_type, 9 more }

Response for a Verify job.

id: string

Unique identifier

configuration: Configuration { target_pages, tier }

Verify configuration used for this job

target_pages?: string | null

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

tier?: "agentic" | "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.

One of the following:
"agentic"
"fast"
document_input_type: "file_id" | "parse_job_id" | "url"

Type of the document input (FILE)

One of the following:
"file_id"
"parse_job_id"
"url"
file_input: string

ID of the input file

project_id: string

Project this job belongs to

status: "CANCELLED" | "COMPLETED" | "FAILED" | 2 more

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

One of the following:
"CANCELLED"
"COMPLETED"
"FAILED"
"PENDING"
"RUNNING"
user_id: string

User who created this job

created_at?: string | null

Creation datetime

formatdate-time
error_message?: string | null

Error message if job failed

result?: Result | null

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)

maximum1
minimum0
verdict: "AUTHENTIC" | "DOCTORED" | "LIKELY_DOCTORED" | 2 more

Overall verdict for the document

One of the following:
"AUTHENTIC"
"DOCTORED"
"LIKELY_DOCTORED"
"NO_STRONG_SIGNAL"
"SUSPICIOUS"
composite_scores?: CompositeScores { ai_generated, document_coherence, document_metadata, 3 more }

Composite scores, each answering one question about the document

ai_generated?: AIGenerated { applicable, score }

Was this content synthesized by a generative model?

applicable?: 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?: number | null

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

maximum1
minimum0
document_coherence?: DocumentCoherence { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
document_metadata?: DocumentMetadata { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
known_fraud?: KnownFraud { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
manually_edited?: ManuallyEdited { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
recapture?: Recapture { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
confidence?: number

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

maximum1
minimum0
error?: string | null

Error detail when the analysis could not complete

page_count?: number

Number of analysed pages (1 for images/docx)

minimum1
page_dimensions?: Array<PageDimension>

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?: string

Explanation of the verdict

suspect_regions?: Array<SuspectRegion>

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

bbox: Array<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)

maximum1
minimum0
source: string

Detector that flagged this region

primary?: 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?: 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?: number | null

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

maximum1
minimum0
tampering_score?: number | null

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

maximum1
minimum0
transaction_id?: string | null

Idempotency key

updated_at?: string | null

Update datetime

formatdate-time
VerifyCancelResponse { id, configuration, document_input_type, 9 more }

Response for a Verify job.

id: string

Unique identifier

configuration: Configuration { target_pages, tier }

Verify configuration used for this job

target_pages?: string | null

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

tier?: "agentic" | "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.

One of the following:
"agentic"
"fast"
document_input_type: "file_id" | "parse_job_id" | "url"

Type of the document input (FILE)

One of the following:
"file_id"
"parse_job_id"
"url"
file_input: string

ID of the input file

project_id: string

Project this job belongs to

status: "CANCELLED" | "COMPLETED" | "FAILED" | 2 more

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

One of the following:
"CANCELLED"
"COMPLETED"
"FAILED"
"PENDING"
"RUNNING"
user_id: string

User who created this job

created_at?: string | null

Creation datetime

formatdate-time
error_message?: string | null

Error message if job failed

result?: Result | null

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)

maximum1
minimum0
verdict: "AUTHENTIC" | "DOCTORED" | "LIKELY_DOCTORED" | 2 more

Overall verdict for the document

One of the following:
"AUTHENTIC"
"DOCTORED"
"LIKELY_DOCTORED"
"NO_STRONG_SIGNAL"
"SUSPICIOUS"
composite_scores?: CompositeScores { ai_generated, document_coherence, document_metadata, 3 more }

Composite scores, each answering one question about the document

ai_generated?: AIGenerated { applicable, score }

Was this content synthesized by a generative model?

applicable?: 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?: number | null

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

maximum1
minimum0
document_coherence?: DocumentCoherence { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
document_metadata?: DocumentMetadata { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
known_fraud?: KnownFraud { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
manually_edited?: ManuallyEdited { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
recapture?: Recapture { applicable, score }

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

applicable?: 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?: number | null

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

maximum1
minimum0
confidence?: number

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

maximum1
minimum0
error?: string | null

Error detail when the analysis could not complete

page_count?: number

Number of analysed pages (1 for images/docx)

minimum1
page_dimensions?: Array<PageDimension>

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?: string

Explanation of the verdict

suspect_regions?: Array<SuspectRegion>

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

bbox: Array<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)

maximum1
minimum0
source: string

Detector that flagged this region

primary?: 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?: 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?: number | null

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

maximum1
minimum0
tampering_score?: number | null

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

maximum1
minimum0
transaction_id?: string | null

Idempotency key

updated_at?: string | null

Update datetime

formatdate-time
VerifyGetDetailsResponse { job_id, degraded_tools, evidence, 4 more }

Raw per-signal detail for a completed Verify job.

Forensic drill-down behind the simplified result: the full evidence list, per-family sub-scores, raw localized regions, and heatmap overlays.

job_id: string

ID of the Verify job

degraded_tools?: Array<DegradedTool>

Checks that could not run on this job (with the reason). A check listed here produced no findings because it could not run, not because the document is clean

tool: string

Name of the check

reason?: string

Why the check could not run

evidence?: Array<Evidence>

Evidence items produced by detection tools

code: string

Machine-readable evidence code

detail: string

Human-readable evidence detail

family: string

Signal family (e.g. metadata, splicing, compression)

score: number

Evidence strength score

tool: string

Tool that produced this evidence

hard?: boolean

Whether this is hard (conclusive) evidence

metadata_tool?: Record<string, unknown>

Raw values from the tool behind this finding; the shape varies by tool

heatmaps?: Array<Heatmap>

Per-page forensic heatmap overlays as presigned image URLs

expires_at: string

The time at which the presigned URL expires

formatdate-time
kind: string

Producing signal, e.g. double_compression, ela, noise

page: number

0-based page index (0 for standalone images)

url: string

Presigned URL to the heatmap PNG (page overlay)

score?: number

Producing tool’s max score (for ranking)

page_dimensions?: Array<PageDimension>

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

regions?: Array<Region>

Suspicious regions localized on rendered pages

bbox: Array<number>

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

detail: string

Human-readable detail about the region

kind: string

Kind of anomaly detected in this region

page: number

0-based page index (0 for standalone images)

score: number

Region-level doctoring likelihood score

source: string

Detector/tool that produced this region

primary?: 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?: string

Review status/verdict for this region

review_note?: string

Free-form review note for this region

sub_scores?: Record<string, number>

Per-family scores (metadata, ai_generation, splicing, copy_move, compression, noise, coherence, pdf_structure)

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/