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

Quick start

Run Accquix Register with docker compose, wait for the first sync, and make your first search and lookup.

You need Docker with the compose plugin, about 10 GB of free disk and outbound HTTPS. The first sync downloads about 1 GB and takes 7–20 minutes, mostly downloading.

Or let your AI agent run it locally and check that it works.

Try the demo

To see the API before you download anything, run the demo: the real API over about 180 fictional companies and sole traders, with VAT payers, a VAT group, closed subjects and risk-list entries. Once the image is built, it is ready in seconds.

git clone https://github.com/accquix/register && cd register
docker compose -f deploy/demo/compose.yaml up -d --wait serve
curl -s 'localhost:8080/v1/search?q=zlata'

No API key is needed: the demo listens on localhost only. Every answer says DEMO DATA in its attribution, and /v1/capabilities reports "demo": true. The database lives in memory and is gone after docker compose -f deploy/demo/compose.yaml down. The sync refuses a demo database, so demo and real data never mix.

Run it with the real data

Get the code

git clone https://github.com/accquix/register
cd register/deploy/compose

Create the secrets

./make-secrets.sh

This writes a random database password and one API key into secrets/. The API key is printed once: store it now. Only its SHA-256 hash is kept.

Start the stack

docker compose up -d

Compose starts PostgreSQL 18, applies the schema (migrate), then starts the API (serve) and the hourly sync (sync --every 1h).

Wait for the first sync

docker compose logs -f sync
curl -s localhost:8080/readyz

Until every source is published, the API answers 503 with the reason bootstrapping. When the sync logs fs list applied for the last list, /readyz answers ready.

Search and look up

export KEY=<your key>
curl -s -H "Authorization: Bearer $KEY" "localhost:8080/v1/search?q=zlata%20ryb"
curl -s -H "Authorization: Bearer $KEY" "localhost:8080/v1/lookup/99900001"

A search returns candidates; a lookup by identifier returns the full subject:

{
  "mode": "default",
  "results": [
    {
      "ico": "99900001",
      "name": "Zlatá Rybka, s.r.o.",
      "municipality": "Fiktívne Mesto",
      "kind": "legal_person",
      "active": true
    }
  ],
  "dataAsOf": "2026-11-10",
  "attribution": [
    "Register právnických osôb, Ministerstvo vnútra SR, CC BY 4.0",
    "Zdroj údajov: Finančná správa SR"
  ]
}

Next steps

  • How it works: what the sync does and what the answers guarantee.
  • Using the API: search, lookup and change detection.
  • Self-hosting: requirements, database roles, monitoring and upgrades.