GET /v1/health
The health endpoint is public so a process monitor can call it without a key. /api/health returns the same response. Send Authorization: Bearer <key> when you also want the engine to check your credentials.
| Field | Meaning |
|---|
status | The serving process answered. HTTP 200 is not proof that a decision or authentication succeeds. |
mode | local for an engine without the hosted control plane; saas for the hosted control plane. |
api_key_required | Whether protected routes require credentials. |
credential_status | not_required, missing, valid, invalid, or unavailable. unavailable means the credential store could not complete verification. |
stack | The declared serving stack identifier, when visible to this caller. undeclared is not a serving stack. |
engine | Whether the separate graph engine process answered its probe. This is not a native decision-model readiness flag. |
register, recall_model, recall_ready | Status of the optional register/recall process. These fields do not measure routing quality. |
Older engine packages may omit mode and credential_status. A health response from such a package cannot establish whether your key was accepted. Verify it with an authenticated decision request instead. Model decisions and their evidence are returned by the decision API, not by health.