Skip to main content

Case Edges

List the linking edges inside a case and confirm or reject each one. Edges are the shared-value links that connect documents, and verdicts persist.

Edges are the individual links that hold a case together: each edge joins a pair of documents through a shared field value, such as the same po_number appearing on an invoice and a purchase order. List a case's edges to audit why its documents are grouped, then confirm correct links or reject wrong ones.

Each edge carries the joining field (via_field), the shared value (link_value), an edge kind (for example reference_resolution or value_sibling), and a confidence score. Verdicts are curator feedback: a rejected edge suppresses that field-value anchor in the next case rebuild, so a value that wrongly glued unrelated documents together (a hub entity every document shares) stops forming links.

Verdicts take effect at the next case rebuild, and they persist across rebuilds. If a rejected edge was the only connection between a subset of documents, the rebuild splits them into a separate case.
GET/v1/cases/:key/edges

Response

Response fields

dataarrayArray of edge objects.
data[].idstringEdge UUID. Use it in the confirm and reject paths.
data[].doc_astringFirst document UUID.
data[].doc_bstring | nullSecond document UUID (null for a single-document anchor).
data[].via_fieldstringField whose shared value joins the documents.
data[].link_valuestringThe shared value itself.
data[].kindstringEdge kind (e.g. reference_resolution, value_sibling, text_citation).
data[].confidencenumber | nullEdge confidence score (0–1).
data[].verdictstring | nullCurator verdict: confirmed, rejected, or null if unreviewed.

Response

{
  "data": [
    {
      "id": "edge_uuid_1",
      "doc_a": "doc_uuid_1",
      "doc_b": "doc_uuid_2",
      "via_field": "po_number",
      "link_value": "PO-2024-001",
      "kind": "reference_resolution",
      "confidence": 0.92,
      "verdict": null
    }
  ]
}
POST/v1/cases/:key/edges/:edgeId/confirm

Response

Returns the updated edge with its verdict set.

Response

{
  "id": "edge_uuid_1",
  "via_field": "po_number",
  "link_value": "PO-2024-001",
  "verdict": "confirmed",
  "verdict_at": "2024-11-08T10:00:00.000Z"
}
POST/v1/cases/:key/edges/:edgeId/reject

Response

Returns the updated edge with verdict set to rejected. From the next rebuild onward, the rejected field-value anchor no longer forms links in this case.

Errors

Error responses

400bad_requestInvalid case key or edge ID format.
401unauthorizedMissing or invalid API key.
404not_foundCase or edge not found.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.