# Health Check Endpoints {#health-check-endpoints}


Monitor application health status.


## Endpoint {#endpoint}


```
GET /api/health
```

No authentication required. Returns application health status.


## Response {#response}


```json
{
  "status": "ok",
  "info": {
    "database": { "status": "up" },
    "redis": { "status": "up" },
    "memory": { "status": "up", "rss": "256MB" }
  },
  "error": {},
  "details": {
    "database": { "status": "up" },
    "redis": { "status": "up" }
  }
}
```


## Health Indicators {#health-indicators}


| Indicator | Checks                      | Critical |
| --------- | --------------------------- | -------- |
| Database  | PostgreSQL connection alive | Yes      |
| Redis     | Redis connection alive      | Yes      |
| Memory    | RSS below threshold         | No       |
| Disk      | Disk space available        | No       |


## Status Codes {#status-codes}


| HTTP Code | Status    | Description                 |
| --------- | --------- | --------------------------- |
| 200       | Healthy   | All indicators up           |
| 503       | Unhealthy | One or more indicators down |


## Usage in Docker {#usage-in-docker}


```yaml
healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
  interval: 30s
  timeout: 10s
  retries: 3
  start_period: 40s
```


## Usage in Kubernetes {#usage-in-kubernetes}


```yaml
livenessProbe:
  httpGet:
    path: /api/health
    port: 3000
  initialDelaySeconds: 30
  periodSeconds: 10

readinessProbe:
  httpGet:
    path: /api/health
    port: 3000
  initialDelaySeconds: 5
  periodSeconds: 5
```


## Related Pages {#related-pages}


- [Prometheus Metrics](https://sourcey-gauzy.pages.dev/observability/prometheus-metrics/index.md) — metrics monitoring
- [Production Deployment](https://sourcey-gauzy.pages.dev/devops/production-deployment/index.md) — deployment
