Healthcheck

Get application health

  • Sandbox: available
  • Staging: available
  • Production: unknown
GET
/healthcheck

Returns the health of the Ovok backend and its Redis and FHIR store dependencies, together with build identity. Use it for liveness probes and as the source for a monitor that reads the response body.

Auth: none. The route needs no bearer token.

Behaviour

  • Also served at / and /_health.
  • Redis and FHIR store are probed in parallel. Each probe has a 2000 ms limit. A timeout or an error counts as ok: false for that dependency.
  • ok is true only when both dependencies.redis.ok and dependencies.fhirStore.ok are true. Email is not checked.
  • The HTTP status is always 200, even when a dependency is down. Read ok and dependencies from the body. To get a non-2xx status on failure, use GET /healthcheck/ready.
  • version, buildEnv, commitHash and buildDate identify the build and are null when the build did not set them. runningSince is the process start time.

Example

curl -X GET 'https://api.sandbox.ovok.com/healthcheck'
{  "ok": true,  "dependencies": { "redis": { "ok": true }, "fhirStore": { "ok": true } },  "buildEnv": "production",  "runningSince": "2026-04-12T17:21:21.410Z"}

Response Body

Healthcheck result. Always HTTP 200.

application/json
  1. response
ok*boolean

True only when Redis and the FHIR store in dependencies answered inside the probe timeout. The HTTP status stays 200 either way — read this field, not the status code.

dependencies*

Per-dependency probe verdicts. Always present, so a monitor can name the failing dependency.

version?
buildEnv?
commitHash?
buildDate?
runningSince?
Example Request
curl -X GET 'https://api.sandbox.ovok.com/healthcheck'
Example Response
{  "ok": true,  "dependencies": {},  "version": {},  "buildEnv": {},  "commitHash": {},  "buildDate": {},  "runningSince": {}}

Get application health GET

Returns the health of the Ovok backend and its Redis and FHIR store dependencies, together with build identity. Use it for liveness probes and as the source for a monitor that reads the response body. **Auth:** none. The route needs no bearer token. ## Behaviour - Also served at `/` and `/_health`. - Redis and FHIR store are probed in parallel. Each probe has a 2000 ms limit. A timeout or an error counts as `ok: false` for that dependency. - `ok` is `true` only when both `dependencies.redis.ok` and `dependencies.fhirStore.ok` are `true`. Email is not checked. - The HTTP status is always `200`, even when a dependency is down. Read `ok` and `dependencies` from the body. To get a non-2xx status on failure, use `GET /healthcheck/ready`. - `version`, `buildEnv`, `commitHash` and `buildDate` identify the build and are `null` when the build did not set them. `runningSince` is the process start time. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/healthcheck' ``` ```json { "ok": true, "dependencies": { "redis": { "ok": true }, "fhirStore": { "ok": true } }, "buildEnv": "production", "runningSince": "2026-04-12T17:21:21.410Z" } ```

Get application readiness GET

Returns the same body as the liveness healthcheck, but with the verdict in the HTTP status. Use it for monitors and alerts that page on status code. **Auth:** none. The route needs no bearer token. ## Behaviour - Runs the same bounded Redis and FHIR store probes as `GET /healthcheck`. - Answers `200` when `ok` is `true` and `503` when it is `false`. The `503` body is the same healthcheck result, so `dependencies` still names the failing dependency. - Do not use this route for container liveness probes: a failing dependency would make the orchestrator restart a backend that is merely degraded. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/healthcheck/ready' ```