Verify

Verify

Submit a claim for verification.

The claim goes in claim. (text is accepted as an alias — a document is text, a claim is claim; POST /extract is the endpoint that takes a document.)

Returns a task_id immediately. Poll GET /verify/status/{task_id} or supply webhook_url in the body for an asynchronous callback when the pipeline terminates.

Duplicate submissions are collapsed. With no Idempotency-Key header, the request body itself is the key: resubmitting an identical body within 10 minutes returns the original task_id instead of starting a second run. To run the same text twice on purpose, send your own Idempotency-Key — a supplied key always wins.

depth selects how much work the check does. standard (default) is the full pipeline. low searches fewer sources, skips the recovery fetch tiers and stops the debate after the opening arguments (no rebuttal round), so it comes back sooner — with less evidence behind the verdict. Framing, the adjudication panel and the conclusion run unchanged, and every step runs the same models either way; low is a volume lever, not a model downgrade.

low costs half the credits, and you are charged for the depth you REQUESTED. A claim answered from a check made in the last hour is free (unless it issues you a new warranty certificate, which is charged at the depth you requested). The completed result echoes the depth the verdict was actually produced with, which is why that field can read standard on a low request: the echo describes the evidence.

Versions. 202: 2026-10-11 receives VerifyAcceptedOut, 2026-05-13 receives VerifyAcceptedOutLegacy; 422: 2026-10-11 receives ValidationErrorOut, 2026-05-13 receives ValidationErrorOutLegacy; default: 2026-10-11 receives ErrorOut, 2026-05-13 receives ErrorOutLegacy.

post/api/v1/verify

Request

  • Base URL: https://lenz.io
  • URL: https://lenz.io/api/v1/verify
  • Auth: HTTP bearer

Headers

X-Lenz-API-Versionstring
Example:2026-05-13

The API version to answer in, as a date. A date before 2026-10-11 (or a value that is not a date) gets 2026-05-13. See https://lenz.io/docs/api-versions.

Request body

claimstring nullable

The claim to check. A statement in natural language; several claims in one string are split and handled separately.

textstring

Accepted alias for claim. Send one or the other; text is used when it has content.

source_urlstring
webhook_urlstring nullable

Where to POST this request's webhook. Omitted or null: your credential's default webhook URL, if it has one. "": no webhook for this request. API version 2026-05-13 reads "" as omitted.

languagestring

ISO 639-1 code for the language of the verification and its source summaries. Omitted: English. auto: detected from the submitted text (the same rule as lenz.io: a supported language, or English when the text is short, English or in a language we do not answer in). A code always wins. Responses carry the code that was used, never auto.

visibility'private' | 'unlisted'
depth'standard' | 'low'

Response

Sent only to callers on 2026-05-13: the same receipt for a repeat of a /verify answered from the first submission. Every other version answers 202.

task_idstring required
status'queued' required
chain_idstring

Changes

No recorded changes to this operation across all 1 revision of this API.