Documentation
Docs Home › API › Health

Health

API: health probes

Unauthenticated process probes on the Manager HTTP server. They are not /api/v1 except the duplicate GET /api/v1/health.

GET /health/live

Purpose. Liveness: the Manager process is running and not in an updater drain.

Authentication. None.

Parameters. None.

Response (200).

{"status": "alive", "timestamp": 1710000000}

timestamp is Unix seconds.

Response (503) when updater runtime mode is draining or updating:

{"status": "draining", "timestamp": 1710000000}

Edition. SHARED.

Security. Safe to expose to a local load balancer. Do not treat 200 as “database healthy.”

GET /health/ready

Purpose. Readiness: listeners admitted and PostgreSQL health check passed. If cluster is enabled, cluster health is included.

Authentication. None.

Response (200) includes at least:

Scroll sideways to see the full table. Use the arrow keys when focused.

FieldMeaning
status"ready" when no failed checks
timestampUnix seconds
database"ok", "not_configured", "timeout", "unavailable"
checksstring array of failed check names when not ready

Response (503) uses the same object with status: "not_ready" and populated checks. Example failed check strings from source:

  • manager: listener_admission_incomplete
  • database: not_configured
  • database: timeout
  • database: plus the health-check error text
  • cluster: timeout when cluster enabled and the readiness timeout fires

Timeout is health.readiness_timeout (code default 5s when set).

Limitations. Blocking-authority readiness is also checked when the blocking pipeline is required (BlockingAuthorityReady). Exact additional JSON keys for blocking/cluster depend on that path; treat extra keys as additive.

Do not publish this as a Kubernetes product integration. The comments mention k8s probe style only.

GET /health

Purpose. Compatibility health (same handler family as historical /health).

Authentication. None.

GET /api/v1/health

Duplicate of healthCheck under the v1 prefix (v1_integration.go). Same guidance.

GET /metrics

Purpose. Prometheus scrape.

Authentication. Admin JWT/session + RoleAuth("admin") when metrics are enabled. Skipped entirely if metrics.enabled is false.

Default path. /metrics (metrics.path override).

Publication. Operator-hosted metrics. Treat scrape credentials as admin-equivalent.