Skip to content
Accquix Register
Esc
↑↓navigate↵open⌘Jpreview
On this page

Change detection

Use POST /v1/lookup:batch with section versions to find out daily which of your counterparties changed.

The register keeps no history and offers no change feed: a feed would let any key enumerate the whole database. Instead, a consumer stores each section’s version and asks for the current versions of the subjects it cares about.

Store the versions

When you save a counterparty, keep the source.version of each section from the lookup:

{ "ico": "99900001", "identity": "4f2a…", "tax": "9c01…", "vat": "77be…", "risk": "1d3e…" }

Ask for the current versions

curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"ids": ["99900001", "99900004", "12"], "fields": "versions"}' \
  http://localhost:8080/v1/lookup:batch
{
  "items": [
    {
      "id": "99900001",
      "status": 200,
      "versions": [
        { "identity": { "state": "present", "version": "4f2a…" }, "tax": { "state": "present", "version": "9c01…" },
          "vat": { "state": "present", "version": "81aa…" }, "risk": { "state": "present", "version": "1d3e…" } }
      ]
    },
    { "id": "99900004", "status": 200, "versions": ["…"] },
    { "id": "12", "status": 400, "code": "invalid_identifier" }
  ],
  "attribution": ["…"]
}

Up to 100 identifiers per call. Each item carries the status the same id would get from /v1/lookup/{id}. Here the VAT version of 99900001 changed: look it up again and show the user what changed.

Notes

  • Versions are content hashes. A rebuild of the register from the sources gives the same versions, so a rebuild does not flood your users with false changes.
  • fields: "all" (the default) returns the full lookups instead of versions.
  • Run the check once a day: the sources change daily at most.
  • A section that became unknown (stale source) did not change. Wait for fresh data before telling anyone.