Skip to main content
Health endpoints allow load balancers, orchestrators (Docker, Kubernetes), and monitoring systems to check the server’s readiness and component status.

Basic health check

GET /api/health Returns a simple liveness response. No authentication required. Suitable for load balancer health probes and Docker / Kubernetes healthcheck directives.
curl -X GET https://your-domain.com/api/health
Response 200
data.status
string
Always ok when the server is running.
data.timestamp
string
ISO 8601 server timestamp.
data.environment
object

Detailed health check

GET /api/health/detailed Returns extended server information. Requires authentication.
curl -X GET https://your-domain.com/api/health/detailed \
  -H "Authorization: Bearer <api-key>"
Response 200
data.status
string
Server status string.
data.uptime
number
Server uptime in seconds.
data.timestamp
string
ISO 8601 timestamp.
data.version
string
Application version.

Run all health checks

GET /api/health/check Executes a full suite of health checks and persists the results to the database. Requires authentication. Checks include: database connectivity, platform connectivity (GitLab / GitHub), AI provider availability, and disk space.
curl -X GET https://your-domain.com/api/health/check \
  -H "Authorization: Bearer <api-key>"
Response 200
data.overall
string
Aggregated health status: healthy | degraded | unhealthy.
data.checks
array

Get current health status

GET /api/health/status Returns the most recent health check results from the database cache. Faster than running a full check. Requires authentication. Response 200
data.overall
string
Overall health status: healthy | degraded | unhealthy.
data.checks
array
Most recent check results for each component.
data.timestamp
string
ISO 8601 timestamp.

Health check history

GET /api/health/history Returns historical health check records with optional filtering. Requires authentication.
checkType
string
Filter by component type: database | gitlab | ai_provider | disk_space.
status
string
Filter by result status: healthy | degraded | unhealthy.
startDate
string
ISO 8601 start date.
endDate
string
ISO 8601 end date.
limit
number
Maximum number of records to return.
Response 200
data.checks
array
Historical health check records.

Individual component checks

The following endpoints each run a check for a specific component, save the result to the database, and return it. All require authentication.

Database

GET /api/health/database Checks the PostgreSQL database connection.

GitLab

GET /api/health/gitlab Checks connectivity to the configured GitLab instance(s).

AI Providers

GET /api/health/ai-providers Checks all configured AI providers. Response 200
data.checks
array
One check result per configured AI provider.

Disk space

GET /api/health/disk-space Checks available disk space on the server.
The GET /api/health endpoint (basic liveness check) does not require authentication and is safe to expose to external health monitoring systems. All other health endpoints require a valid session or API key.

Build docs developers (and LLMs) love