Skip to main content
GET
Health check endpoints for monitoring and orchestrator probes. GET /health/live confirms the process is running. GET /health/ready verifies dependencies (Hasura, Keycloak, Postgres) are reachable. Both work for self-hosted and cloud deployments.
Base URL: Health is mounted at /health. If your deployment uses a path prefix (e.g. /api), use /api/health/live and /api/health/ready. For self-hosted, replace the host with your instance URL.

Endpoint (Cloud)

Self-hosted Databrain Endpoint


Guide: How to check health

  1. Liveness — Call GET /health/live. Expect 200 and {"status":"live"}. Use for liveness probes.
  2. Readiness — Call GET /health/ready. Expect 200 and {"status":"ready","checks":{...}} when all dependencies are up. Inspect checks for per-service status.
  3. If any check is DOWN or UNKNOWN, the response is 503 and status is not_ready.

Authentication

None. Health endpoints do not require authentication.

Headers

None required.

Query Parameters

None.

Response

GET /health/live (200 OK)

string
Always "live" when the server responds. Indicates the process is running.

GET /health/ready – Success (200 OK)

string
"ready" when all configured dependency checks pass.
object
Map of service names to their health result. Keys present depend on configuration.
object
Always present. Hasura GraphQL engine health. Uses {HASURA_ENDPOINT}/healthz. No change required on Hasura; backend uses the existing endpoint.
string
"UP" when Hasura is reachable, "DOWN" when unreachable, "UNKNOWN" when HASURA_ENDPOINT is not configured.
number
HTTP status from {HASURA_ENDPOINT}/healthz. Present when a response was received. Absent on network/fetch errors.
string
Present when status is "DOWN" or "UNKNOWN". Error message or configuration hint (e.g. "HASURA_ENDPOINT not configured").
object
Present only when KEYCLOAK_SERVER_URL is set. Keycloak health via {KEYCLOAK_SERVER_URL}/health/live.
string
"UP" or "DOWN".
number
HTTP status from Keycloak. Present when a response was received.
string
Present when status is "DOWN". Error message.
object
Present only when HASURA_ENDPOINT is set. Postgres reachability via Hasura strict health ({HASURA_ENDPOINT}/healthz?strict=true).
string
"UP" or "DOWN".
number
HTTP status from Hasura strict health. Present when a response was received.
string
Present when status is "DOWN". Error message.

GET /health/ready – Failure (503 Service Unavailable)

string
"not_ready" when one or more checks failed.
object
Same structure as success. At least one entry has status: "DOWN" or "UNKNOWN".

Services summary


Examples


HTTP Status Code Summary


Notes

  • Each dependency check uses a 3 second timeout.
  • statusCode is omitted when the check fails due to network/connection errors (e.g. ECONNREFUSED).
  • For Kubernetes: use GET /health/live for liveness and GET /health/ready for readiness.
  • Graceful shutdown: On SIGTERM or SIGINT, the server stops accepting new connections and waits for in-flight requests to complete. If shutdown is not complete within 30 seconds, the process exits forcefully. Set terminationGracePeriodSeconds to at least 35 when using Kubernetes.