Skip to content
Hardcount
Run it locally
Pre-1.0 · one maintainer · Stripe and cards only · no SDKs (client libraries) yet · no production users yet. Docs describe v0.9.1 (29 Oct 2026) · What’s new →

Readiness check for load balancers

GET
/health/ready
curl --request GET \
--url http://localhost:8080/health/ready

Tells a load balancer whether this server can take requests. It returns 503 when the server is shutting down (draining) or cannot reach the database. A late billing scheduler shows as degraded in the body but keeps the status at 200: taking the server out of the balancer would not restart the scheduler. Alert on the scheduler metrics instead (see docs/ops/runbook/monitoring.md).

Ready. status is ok, or degraded when only the scheduler is late.

Media typeapplication/json
object
status
required
string
Allowed values: ok degraded draining
checks
required

One entry per check. api is ok or draining. database is ok or error. scheduler starts with ok or degraded, followed by detail such as ok: last run 12s ago. While draining, only api is sent.

object
key
additional properties
string

Example

{
"status": "ok"
}

Not ready. status is draining, or degraded when the database cannot be reached.

Media typeapplication/json
object
status
required
string
Allowed values: ok degraded draining
checks
required

One entry per check. api is ok or draining. database is ok or error. scheduler starts with ok or degraded, followed by detail such as ok: last run 12s ago. While draining, only api is sent.

object
key
additional properties
string

Example

{
"status": "ok"
}