API Endpoints
A concise guide to Verifact endpoints: what each one does, when to use it, and short examples.
Verify vs Authorize
Verify
Verification checks whether statements are supported by the evidence you provide. It produces factual support results, not permission.
Returns: Supported / unsupported / ambiguous per claim; Supporting evidence or gaps
Use when: Reports, review, debugging, and presenting evidence
Authorize
Authorization applies requirements to verified statements to decide whether an action or piece of output is allowed, denied, or requires review. Verifact supports two authorization modes: Actions and Output. Use <code>requirements</code> and <code>options</code> to control enforcement.
Returns: Decision: allow / deny / needs_review; Reasons and audit metadata
Use when: Gating actions (refunds, access, transactions) or governing generated text (customer responses, public-facing content)
Verifact separates truth (verification) from permission (authorization). Use "Actions" when you can provide explicit, structured claims to deterministically gate real-world operations (use /v2/authorize). Use "Output" when you are gating LLM-generated text; Verifact will perform best-effort claim extraction from the answer before verification (use /v2/authorize).
Endpoint groups
Verification
Check whether claims are supported by the evidence you provide.
Authorization
Make authorization decisions for Actions (explicit claims) and Output (LLM text). Returns allow/deny/needs_review with detailed evidence, reasons, and metrics.
Jobs & async
Run verification at scale using batch submission and job polling.
Health & status
Basic health endpoints for monitoring.
Verification
Check whether claims are supported by the evidence you provide.
- Use when you have claims to verify against explicit sources.
- Get per-claim status, scores, and evidence spans.
Endpoints
POST/v2/verify— Verify Actions (explicit claims) against provided sources.POST/v1/verify-claims-batch— Submit many claim-sets for async processing (returns job_id).
Example: Minimal verify request
POST /v2/verify
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"claims": [{ "text": "Paris is the capital of France" }],
"sources": [
{
"source_id": "s1",
"type": "text",
"uri": "https://example.com/data/geography/paris.txt",
"checksum": "sha256:abcdef"
}
]
}{
"request_id": "req_abc123",
"request_hash": "sha256:abc123",
"verdict": "supported",
"coverage_score": 1.0,
"checks": [
{
"claim_id": "c1",
"claim_text": "Paris is the capital of France",
"coverage": 1.0,
"citations": [ { "source_id": "s1", "quote": "Paris is the capital of France", "start": 0, "end": 29 } ],
"evidence": [ { "source_id": "s1", "snippet": "Paris is the capital of France" } ]
}
]
}Verifact only verifies against evidence you explicitly provide or reference.
Use batch endpoints for large-scale or background processing.
Responses are compact-by-default; include `response: { "mode": "verbose" }` in your request to receive per-claim details.
Jobs & async
Run verification at scale using batch submission and job polling.
- Use batch endpoints for bulk verification and nightly audits.
- Poll job status to retrieve results when complete.
Endpoints
POST/v1/verify-claims-batch— Submit many verification requests (returns job_id).GET/v2/jobs/{job_id}— Poll job status and retrieve results.
Example: Submit a batch
POST /v1/verify-claims-batch
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{ "jobs": [ { "claims": [{ "text": "Claim 1" }], "sources": [{ "id": "s1", "text": "..." }] } ] }{
"job_id": "88ac7904-1371-48e7-a66b-2a2507a4216a",
"status": "queued"
}Supports Idempotency-Key header to avoid duplicate work.
Health & status
Basic health endpoints for monitoring.
- Lightweight endpoints useful for load balancers and uptime checks.
Endpoints
GET/health— Simple health check (returns healthy/ok).GET/health/detailed— Detailed health with component checks.
These endpoints are typically unauthenticated and used for monitoring.