Skip to main content

Health endpoints

Three endpoints, none of which needs a token.

EndpointAnswersUse it for
GET /health200 {"status": "ok", "version": "7.0.58"} as soon as the process runs.Liveness: restart the process if it does not answer.
GET /ready200 {"status": "ok", "version": …, "pool": "default"} when the framework database answers a SELECT 1 within 5 seconds; 503 {"status": "unavailable", …, "error": "…"} otherwise.Readiness: send traffic only when it is 200.
GET /infoVersion and counts (connectors, pools, screens, dashboards…), feature flags (SSO, assistant, licence mode).A quick look, support.

/ready​

The server starts even when its database is unreachable — so that a pool can be fixed from Settings — but /ready answers 503 until the database is back. An install without a default pool answers 200 with "pool": null.

The Docker layouts use it as the container healthcheck: a stack whose database is down shows unhealthy in docker ps and in ./liberty status.

Kubernetes
livenessProbe:
httpGet: { path: /health, port: 8000 }
periodSeconds: 30
readinessProbe:
httpGet: { path: /ready, port: 8000 }
periodSeconds: 10
failureThreshold: 3

/info​

Anonymous callers get the counts and flags only. A signed-in caller also gets the names of the connectors and pools, the location of the user store and the assistant's model.

GET /info (anonymous, excerpt)
{
"name": "Liberty Next",
"version": "7.0.58",
"connectors_loaded": 12,
"pools_loaded": 4,
"screens": { "apps": ["nomasx1", "nomajde"], "total": 107 },
"auth": { "backend": "toml", "oidc_enabled": true },
"ai": { "enabled": true, "available": true },
"license": { "mode": "full" }
}

External monitoring​

  • Probe /ready every minute from the monitoring tool and alert after a few failures in a row.
  • Collect the server log from standard output, each line carrying the request id.
  • For jobs, prefer a notification rule on failure and missed — see Notifications.