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

# Health Check — estudjo API Liveness Probe

> Check whether the estudjo API is operational. Returns database reachability status. No authentication required — safe to use in uptime monitors.

`GET /healthz` is a public liveness endpoint that reports whether the estudjo API server is running and can reach its database. No API key is required. Use it in uptime monitors, load-balancer health probes, or as a pre-flight check before making authenticated calls.

## Request

|            |                                      |
| ---------- | ------------------------------------ |
| **Method** | `GET`                                |
| **URL**    | `https://v1.api.estudjo.com/healthz` |
| **Auth**   | None                                 |

```bash theme={null}
curl https://v1.api.estudjo.com/healthz
```

## Responses

### 200 — Healthy

All systems are operational and the database is reachable.

```json theme={null}
{
  "success": true,
  "data": {
    "db": "ok"
  }
}
```

<ResponseField name="success" type="boolean">
  `true` when the server is running and the database is reachable.
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="data">
    <ResponseField name="db" type="string">
      Database reachability status. `"ok"` when healthy.
    </ResponseField>
  </Expandable>
</ResponseField>

### 500 — Unhealthy

The server is running but cannot reach the database.

```json theme={null}
{
  "success": false,
  "error": {
    "code": "db_unavailable",
    "message": "database is unreachable"
  }
}
```

<ResponseField name="success" type="boolean">
  `false` when the health check fails.
</ResponseField>

<ResponseField name="error" type="object">
  <Expandable title="error">
    <ResponseField name="code" type="string">
      Machine-readable error code. `"db_unavailable"` indicates the database cannot be reached.
    </ResponseField>

    <ResponseField name="message" type="string">
      Human-readable description of the failure.
    </ResponseField>
  </Expandable>
</ResponseField>
