Skip to main content

Case Evidence

Get the connective evidence for a case: the shared-reference links joining its documents, open gaps such as dangling references, and the member documents.

The evidence endpoint answers "why are these documents one case, and what is missing?". It returns the connections — the shared-reference links that join pairs of documents, each carrying the via_field and value that connect them, the link kind, a confidence, and any curator verdict (confirmed/rejected) — together with the open gaps (dangling references and missing-document findings) and the member documents.

This is the synth case's evidence model: a case is a connected component over reference edges, so the connections ARE the evidence. Where GET /v1/cases/:key/edges is the raw edge list used to confirm or reject links, this endpoint is the read-oriented evidence view — connections plus the gaps that show what the case is still waiting on.

GET/v1/cases/:key/evidence

Path parameters

key*stringCase UUID (the stable resource id).

Response

Response fields

connections[].document_astringOne side of the link.
connections[].document_bstring | nullThe other side (null for a single-document anchor).
connections[].via_fieldstringThe field whose value joins the two documents.
connections[].valuestringThe shared value.
connections[].kindstringLink kind (e.g. reference, value-sibling, citation).
connections[].confidencenumber | nullLink confidence.
connections[].verdictstring | nullCurator verdict (confirmed / rejected) if set.
gapsobject[]Open findings (dangling references / missing documents).
documentsobject[]Member documents with filename, type, and date.

Response

{
  "connections": [
    {
      "document_a": "doc_uuid_1",
      "document_b": "doc_uuid_2",
      "via_field": "po_number",
      "value": "PO-2024-001",
      "kind": "reference_resolution",
      "confidence": 0.94,
      "verdict": null
    }
  ],
  "gaps": [
    {
      "id": "finding_uuid_1",
      "kind": "dangling_reference",
      "via_field": "contract_reference",
      "value": "CTR-2023-118",
      "severity": "warning"
    }
  ],
  "documents": [
    { "id": "doc_uuid_1", "filename": "po_2024_001.pdf", "document_type": "Purchase Order" },
    { "id": "doc_uuid_2", "filename": "invoice_oct.pdf", "document_type": "Invoice" }
  ]
}
Curator decisions show up here: an edge confirmed or rejected via the Case Edges endpoints carries its verdict on the matching connection, so downstream consumers can distinguish human-verified links from inferred ones.

Errors

Error responses

400bad_requestInvalid case id. Must be a UUID.
401unauthorizedMissing or invalid API key.
404not_foundNo case with this key exists for your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.