> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anivahealth.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Health Check

> Public readiness probe for uptime monitoring

A public readiness probe for external uptime monitoring. This is the one endpoint that takes **no authentication** — send no `x-api-key` header.

<Note>
  For real-time operational status, service breakdowns, and historical incident logs, check our
  [System Status](/status) page.
</Note>

The check is a readiness probe, not just a liveness ping: it verifies that the API process is up **and** that its database is reachable. If the database cannot be reached, the endpoint returns `503` so a monitor never reports the API as healthy while it is unable to serve partner requests.

Responses are sent with `Cache-Control: no-store`, so every request reaches the origin rather than a cached edge response.

## Request

This endpoint takes no parameters and no authentication.

## Response

On success the API returns `200 OK`. When the database is unreachable it returns `503 Service Unavailable` with the same body shape.

<ResponseField name="status" type="&#x22;ok&#x22; | &#x22;error&#x22;" required>
  `ok` when the service and its database are reachable, `error` otherwise.
</ResponseField>

<ResponseField name="timestamp" type="string" required>
  ISO 8601 UTC instant the check ran (e.g. `2026-06-27T08:30:00.000Z`).
</ResponseField>

## Status codes

| Status | Description                                         |
| ------ | --------------------------------------------------- |
| `200`  | Service and database are reachable.                 |
| `503`  | Service is unhealthy — the database is unreachable. |

<RequestExample>
  ```bash cURL theme={null}
  curl --url 'https://anivahealth.com/api/v1/health'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "status": "ok",
    "timestamp": "2026-06-27T08:30:00.000Z"
  }
  ```

  ```json 503 theme={null}
  {
    "status": "error",
    "timestamp": "2026-06-27T08:30:00.000Z"
  }
  ```
</ResponseExample>
