Skip to main content

Change Checks

Check master-data changes against evidence documents: bank account changes are matched, contradicted or unbacked, and flagged ones carry open payables.

GET /v1/master-records/{domain}/changes checks every change in the domain's configured change logs against the evidence documents of the configured Spec's latest completed run. A bank account change is matches when a document for the same party names the account the change sets. It is contradicts when documents for the party name another account. It is no_document otherwise. A payment terms change is always no_document, and other fields are not_checked. The logs and documents are read live and nothing is stored.

A flagged bank change, one a document contradicts or none backs, carries the party's open payables across all sources as exposure. That turns a change in a master record into a number: the money at risk if a payment follows the changed account. The route needs change logs configured for the domain (changes), and optionally open_items and evidence; without change logs it answers 422.

GET/v1/master-records/{domain}/changes

Parameters

domain*stringvendors, customers or materials.
flaggedstring1 or true to return only flagged changes.

Response fields

statsobjectchanges, bank_changes, bank_matched, bank_contradicted, bank_no_document, terms_no_document, flagged, exposure (open payables at risk on flagged bank changes) and evidence_documents.
evidence_runobject | nullThe Spec run the evidence was read from: pipeline_id and documents; null without one.
changes[].source / id / fieldstringThe source system, the source row and the changed field.
changes[].old_value / new_value / changed_at / changed_bystring | nullThe change as logged.
changes[].golden_key / golden_namestring | nullThe golden record the changed row belongs to.
changes[].verdictstringmatches, contradicts, no_document or not_checked.
changes[].flaggedbooleanWhether the change needs a person.
changes[].evidence[]arrayThe documents considered: document_id, filename, party, iban, references, date, kind.
changes[].exposurenumber | nullOpen payables to the party across every source; set on a flagged bank change.
changes[].elsewhere[]arrayOther sources' current value of the field, when it differs from the changed value.
changes[].explanationstringThe verdict in words.

cURL: Flagged bank changes

curl "https://api.talonic.com/v1/master-records/vendors/changes?flagged=true" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

Response: One flagged change (abridged)

{
  "domain": "vendors",
  "stats": { "changes": 31, "bank_changes": 6, "bank_matched": 3, "bank_contradicted": 1, "bank_no_document": 2, "terms_no_document": 4, "flagged": 3, "exposure": 182400, "evidence_documents": 57 },
  "evidence_run": { "pipeline_id": "0d4e8a21-6b3c-4f79-a5d2-8c1e7b9f3a60", "documents": 57 },
  "changes": [
    {
      "source": "ERP-A",
      "id": "100234",
      "field": "iban",
      "old_value": "DE89370400440532013000",
      "new_value": "DE02120300000000202051",
      "changed_at": "2026-10-14T11:02:00Z",
      "golden_key": "3a7f9d1c5e2b8046a1d3c7f09b4e6a28d5c1f390",
      "golden_name": "Acme Industrial GmbH",
      "verdict": "contradicts",
      "flagged": true,
      "exposure": 61200,
      "explanation": "Documents for the party name another account."
    }
  ]
}
A party matches a document by quoting one of its source ids or by a name similarity at or above 0.85. Errors: 400 when a change-log query is not read-only, lacks the required columns or returns more rows than the cap; 404 for an unknown domain; 422 when no change logs are configured for the domain.

Frequently asked questions

What makes a bank change flagged?+
A bank account change that documents contradict, or that no document backs, is flagged. A change that matches a document for the same party is not. A flagged change carries the party's open payables across every source as exposure.
Why is a payment terms change no_document?+
Payment terms changes are never checked against documents. Their verdict is always no_document. Fields other than bank account and payment terms are not_checked.
Is anything stored by this route?+
No. The change logs and the evidence documents are read live on every call and nothing is stored, so the verdicts reflect the latest source data and the latest completed Spec run.