Skip to main content

Document Claims

Read deterministic provenance claims for a document with GET /v1/documents/:id/claims: atomic subject-predicate-object triples with evidence and confidence.

GET /v1/documents/{id}/claims returns the document's provenance claims: atomic (subject, predicate, object) triples synthesized deterministically from the document's captured fields and provenance spans. No LLM is involved in the synthesis. Each claim carries the evidence quote it was derived from, a grounded flag marking whether a source span backs it, and a confidence score, so it answers "where does this value come from" at the document level in an auditable form.

Claims are ordered grounded-first, then by descending confidence, so the most defensible statements come first. Pass grounded=true to restrict the response to span-backed claims only, which is the right default when feeding claims into a downstream system that must never surface unverifiable statements. The response is a flat { data, total } envelope with no pagination.

GET/v1/documents/{id}/claims

Query parameters

groundedbooleanPass `true` to return only span-backed claims.

Response

Response fields

dataarrayArray of claim objects.
data[].subjectstringThe entity the claim is about.
data[].predicatestringThe relation, typically a field concept such as `has_total_amount`.
data[].objectstringThe claimed value.
data[].qualifierstring | nullOptional qualifier narrowing the claim, for example a period or unit.
data[].evidencestring | nullVerbatim quote from the document the claim was derived from.
data[].segment_idstring | nullIdentifier of the document segment the evidence sits in.
data[].groundedbooleanTrue when a source span backs the claim.
data[].confidencenumberConfidence score between 0 and 1.
data[].originstringWhich synthesis path produced the claim.
totalintegerNumber of claims returned.

curl

Response

{
  "data": [
    {
      "subject": "Invoice INV-2024-0042",
      "predicate": "has_total_amount",
      "object": "4950.00",
      "qualifier": "EUR",
      "evidence": "Total due: EUR 4,950.00",
      "segment_id": "seg_12",
      "grounded": true,
      "confidence": 0.97,
      "origin": "field_capture"
    }
  ],
  "total": 1
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
404not_foundDocument not found or not owned by your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.
Claims are the document-level provenance read. For field-level span detail, matched spans on the source PDF and cross-document assembly lineage, use GET /v1/field-reviews/{docId}/{fieldKey} instead.

A common pattern is to run compliance or audit tooling over the grounded claims of every processed document: list documents, read each document's claims with grounded=true, and store the triples beside the structured output. Because synthesis is deterministic, re-reading a document's claims returns stable results unless the document is re-extracted.