Developers

Kroniz API

Every Kroniz workspace can expose its data to your own systems through a REST API and signed webhooks. Keys are issued per workspace by the Kroniz team — ask your account manager or write to info@kroniz.com.

Authentication

Send your key as a bearer token. The key identifies your workspace — there is no workspace or company parameter to pass, and a key can never read another organisation's data.

curl https://erp.kroniz.com/api/v1/invoices \
  -H "Authorization: Bearer krz_xxxxxxxx_………"

Endpoints

All endpoints are GET and return JSON as {"data": [ … ]}. Use ?limit= (1–100, default 50).

EndpointReturnsRequires
/api/v1/pingWorkspace name and the scopes your key holds
/api/v1/companiesCustomers, prospects, suppliers and partnersCRM
/api/v1/invoicesInvoices with totals, tax and balance dueFinance
/api/v1/paymentsReceived payments and their methodFinance
/api/v1/productsProducts with pricing and unitsInventory
/api/v1/employeesEmployee recordsHR

A key only reaches the modules on your plan, and can be narrowed further when it is issued. Asking for a module you don't have returns 403 with a clear message.

Limits and errors

Each key allows 1,000 requests per hour; going over returns 429. A missing, wrong, revoked or expired key returns 401. Errors always look like {"error": "…"}, never an HTML page.

Webhooks

Kroniz can call your endpoint when something happens in your workspace — currently invoice.posted and payment.recorded. Each call is a JSON POST carrying:

X-Kroniz-Event:     invoice.posted
X-Kroniz-Delivery:  1234
X-Kroniz-Signature: sha256=<hmac of the raw body, using your signing secret>

{"event":"invoice.posted","tenant":"your-workspace","occurred_at":"…","data":{…}}

Verify the signature before trusting a delivery — recompute the HMAC-SHA256 of the raw request body with your signing secret and compare. Reply with any 2xx status; anything else is retried after 2, 4, 8 and 16 minutes, then reported as failed in the Kroniz console.

Getting a key

Contact us and tell us which modules your integration needs. We issue the key, the scopes and (optionally) an expiry date, and you can have it revoked at any time.

Request API access