3 API3.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"import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api-sandbox-eu.eurinvoice.com/health"))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}const response = await fetch('https://api-sandbox-eu.eurinvoice.com/health', {
});
console.log(response.status);
console.log(await response.text());{
"routes": {
"FR-PA": "not_configured",
"DE-XRECHNUNG": "not_configured",
"PEPPOL": "not_configured",
"RO-EFACTURA": "not_configured",
"PL-KSEF": "not_configured"
},
"status": "ok"
}With a key
A key adds checks:
| Check | Meaning |
|---|---|
database | Whether the database answers. |
validation_artefacts | Whether the pinned validation rule files are present and recent. |
queue | The state of the work queue. |
routes | One 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.