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

# Health check

> Check the detailed status of the VPS agent and its services.

<Note>
  This is a **VPS agent endpoint** at `https://agent.dbhost.app/health`, not part of the control plane API. It requires `Authorization: Bearer <API_KEY>`. Use `GET /healthz` for unauthenticated liveness checks.
</Note>

Returns detailed health and capacity metrics for PostgreSQL, PgBouncer, server disk usage, managed PostgreSQL data size, server memory, load averages, and current PgBouncer pool/client state.

## Response

```json 200 OK theme={null}
{
  "status": "healthy",
  "postgres_connected": true,
  "pgbouncer_running": true,
  "server_disk_total_bytes": 42300000000,
  "server_disk_total_pretty": "42.3 GB",
  "server_disk_used_bytes": 1900000000,
  "server_disk_used_pretty": "1.9 GB",
  "server_disk_used_percent": 4,
  "server_disk_free_bytes": 40400000000,
  "server_disk_free_pretty": "40.4 GB",
  "postgres_data_used_bytes": 150000000,
  "postgres_data_used_pretty": "143.1 MB",
  "postgres_managed_database_count": 3,
  "memory": {
    "total_bytes": 4230000000,
    "total_pretty": "4.2 GB",
    "used_bytes": 1710000000,
    "used_pretty": "1.7 GB",
    "available_bytes": 2520000000,
    "available_pretty": "2.5 GB",
    "used_percent": 40
  },
  "load": {
    "one_minute": 0.12,
    "five_minutes": 0.21,
    "fifteen_minutes": 0.18
  },
  "pgbouncer_pool_count": 3,
  "pgbouncer_client_count": 5,
  "pgbouncer_active_client_count": 3,
  "pgbouncer_pools": [
    {
      "database": "my-app",
      "user": "my-app",
      "client_active": 2,
      "client_waiting": 0,
      "server_active": 1,
      "server_idle": 1
    }
  ],
  "pgbouncer_clients": [
    {
      "database": "my-app",
      "user": "my-app",
      "client_addr": "203.0.113.10",
      "application_name": "web",
      "connected_at": "2026-04-05T16:34:22+00:00",
      "state": "active"
    }
  ],
  "disk_total_bytes": 42300000000,
  "disk_total_pretty": "42.3 GB",
  "disk_used_bytes": 1900000000,
  "disk_used_pretty": "1.9 GB",
  "disk_used_percent": 4,
  "disk_free_bytes": 40400000000,
  "disk_free_pretty": "40.4 GB"
}
```

## Response notes

* `memory` and `load` are nullable and may be omitted if the VPS cannot collect them.
* `pgbouncer_pools` excludes the PgBouncer admin database and focuses on managed tenant pools.
* `pgbouncer_clients` reflects current live PgBouncer client sessions, not the historical connection log stored in the control plane database.

## Status values

| Status     | Meaning                                                                                            |
| ---------- | -------------------------------------------------------------------------------------------------- |
| `healthy`  | Both PostgreSQL and PgBouncer are running                                                          |
| `degraded` | One or both services are down, or the agent could not collect detailed PostgreSQL capacity metrics |
