Skip to content

Monitoring: health, logs, reporting

GET /health is the endpoint for liveness and readiness checks: public, without a key, without consuming quota — and therefore the right probe for a service or container health check.

{ "status": "Healthy", "schemas": "ok", "db": "ok", "version": "1.0.42", "buildDate": "…" }
Response Meaning
200 + "Healthy" the service is up and both checks passed
503 + "Degraded" at least one check failed; schemas or db then reads "missing"

What exactly is checked — and why only two things

Section titled “What exactly is checked — and why only two things”

Each of them because its failure would be silent:

Field Check Why
schemas is the EN 16931 code-list file present in the output directory? If it is missing, the code-list checks quietly pass — an unvalidated invoice would look like a validated one
db is the SQLite database present, readable and migrated? on Linux this also covers the native libraries
Location Content
<target directory>\logs\invoice-api-YYYYMMDD.log the application log, rolled daily, 30 files retained
%TEMP%\Setup Log*.txt the installer’s log
Service control sc query Invoiceflair, sc stop …, sc start …

The minimum level is Information; the framework categories are dampened.

Terminal-Fenster
Invoiceflair.Api.exe usage --days 7

This answers the operational questions from the log: how often each tool ran, how many calls failed, how many addresses were involved, and which API key consumed how much.

Check How
the service is running /health against the HTTP port and localhost — not through the proxy, otherwise a fresh certificate becomes monitoring’s first stumbling block
space in the data directory the archive and the log grow
the log for warnings in particular the warning about a missing public address behind a proxy