Verification inside your pipeline.
The same engine as the browser flow, over key-authenticated JSON. Runs reserve and settle credits exactly like web runs; there is no free tier here — an empty balance is a 402, never a silent free check.
What it does
- Submit a brief.
POST /api/v1/verifywith text; pollGET /api/v1/records/{job_id}for the structured record. - Batch a docket.
POST /api/v1/verify/batchfor up to 10 documents; every document spends exactly as a single submit would. - Cites-only. Send pre-extracted citation strings with no brief text at all; covers existence and identity, the confidentiality-first shape.
- Track revisions. Resubmit with
supersedes_job_id; the completed record carries an added/removed/changed-status diff.
Authentication
Per-account bearer keys (cpk_…), issued by an operator:
email [email protected]
from the buying account to request one. Keys are stored as digests,
shown once, revocable any time. Missing, malformed, unknown and revoked
keys all read as an identical 401.
Limits and retention
- 600 requests per hour per key, plus the economic limit (one credit per completed check, Solo fair-use window as configured).
- Paid runs are retained 90 days for retrieval, versions and audit. Free-tier runs are never retained or reachable here.
- Upstream failure degrades to
CANNOT_VERIFY, neverNOT_FOUND; degraded runs release the held credit.