/health/ready
Readiness probe. Checks configured dependencies and returns per-service status. Results are cached in memory for one minute. Rate limited to five requests per minute per client. Returns HTTP 503 when critical dependencies are unavailable (status: unhealthy). Returns HTTP 200 when all critical dependencies are healthy (status: ok or status: degraded). Postgres via Prisma SELECT 1; object storage via required-bucket HeadBucket checks; Redis via shared process clients PING; SMTP via live verify on the shared Nodemailer transporter pool. API boot runs the same live checks for Postgres, storage, Redis, and SMTP before accepting traffic.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/health/ready"{ "cached": false, "cacheExpiresAt": "2026-01-15T12:00:00.000Z", "services": { "anthropic": { "configured": true, "ok": true }, "mapy": { "configured": true, "ok": true }, "stripe": { "configured": true, "ok": true }, "posthog": { "configured": true, "ok": true }, "postgres": { "latencyMs": 18, "ok": true }, "redis": { "latencyMs": 2, "ok": true }, "smtp": { "configured": true, "ok": true }, "storage": { "latencyMs": 15, "ok": true } }, "status": "ok", "timestamp": "2026-01-15T12:00:00.000Z"}