Docs

3 API3.7

3.7

Health: GET /health

Service health, and with a key the state of its parts and routes.

  • In the sandbox

In plain words

This call says whether the service is up. With a key it also says how its database, rule files, queue and routes are doing.

GET /health answers 200 with status set to ok or degraded, or 503 with down when the database does not answer. Without a key the answer holds only status. It is the one call that needs no key.

curl "https://api-sandbox-eu.eurinvoice.com/health"
Response200 OK
{
  "routes": {
    "FR-PA": "not_configured",
    "DE-XRECHNUNG": "not_configured",
    "PEPPOL": "not_configured",
    "RO-EFACTURA": "not_configured",
    "PL-KSEF": "not_configured"
  },
  "status": "ok"
}
Recorded on 7 Oct 2026.

With a key

A key adds checks:

CheckMeaning
databaseWhether the database answers.
validation_artefactsWhether the pinned validation rule files are present and recent.
queueThe state of the work queue.
routesOne entry per route, with a status, the run of errors seen and the live credentials stored for it.

A route's status is ok, degraded, unreachable or no_rail. DE-XRECHNUNG has no rail and reads no_rail. Nothing probes a rail: the status comes from the errors the worker has seen. A route nobody has sent to reads ok, and five errors in a row read unreachable. A route never changes the service's own status; a rail's outage is reported to us as an alert.

Note

Sandbox

There is no uptime probe behind ok yet, so use it as a liveness check and not as a promise. On 7 Oct 2026 the hosted sandbox still ran the release before contract 0.19.3, so its answer without a key still lists the five routes, all not_configured, as in the example above. Contract 0.19.3 and the reference describe the answer with status only.

On this page