Endpoint
GET/health
The endpoint must be public, quick, cache-disabled, and callable from the browser. Configure CORS for the status-page origin.
Content-Type: application/json
Cache-Control: no-store
Access-Control-Allow-Origin: https://status.devcreationsblr.com
HTTP responses
| Code | Meaning |
|---|---|
200 | Service is operational or degraded but reachable. |
503 | Service is down or a required dependency has failed. |
429 | The health endpoint is rate limited. |
500 | An unexpected health-check error occurred. |
Response body
{
"status": "ok",
"service": "customer-portal",
"name": "Customer Portal",
"version": "1.8.4",
"environment": "production",
"region": "ap-south-1",
"checkedAt": "2026-08-05T10:30:00.000Z",
"uptimeSeconds": 348923,
"latencyMs": 42,
"message": "All checks passed.",
"dependencies": [
{ "name": "database", "status": "ok", "latencyMs": 12 },
{ "name": "redis", "status": "ok", "latencyMs": 4 },
{ "name": "payment-provider", "status": "degraded", "latencyMs": 860, "message": "Provider response time is above threshold." }
]
}
Status values
ok— healthy and ready for customer traffic.degraded— reachable, but performance or a non-critical dependency is affected.maintenance— intentionally under maintenance.down— unavailable or a critical dependency failed.
Fields
Required
status, service, name, and checkedAt.
Recommended
version, environment, region, uptimeSeconds, latencyMs, message, and dependencies.
Security
Never return secrets, connection strings, stack traces, server IPs, database names, internal hostnames, usernames, tokens, or detailed infrastructure topology. Use customer-safe dependency names such as
database, cache, and payment-provider.Health-check depth
Check only dependencies that are critical to the customer experience:
- Web server response
- Lightweight database query
- Cache read/write when critical
- Queue connectivity for async processing
- Lightweight provider status or ping checks
Avoid expensive checks that can slow the service or add load during an outage.