Observability
Health
Combined probe, process, database and optional dependencies
GET
Auth: None • Rate limit: Bypass (outside the global limit) • Idempotent: yes
Description
Open endpoint (no token) that returns a snapshot of the API’s state based on dependency checks (DB always, plus optional probes such as S3 when configured). Bypasses rate limit and CORS so external monitors can query it without credentials.Example
Response, healthy
Response, degraded
503 Service Unavailable
Fields
| Field | Description |
|---|---|
status | "ok" when all checks pass, "degraded" when any fail. |
service | Always "RyzeAPI". |
uptime | Time since the process booted, in Go duration format (e.g., 12h34m56s, 1h2m3.456s). |
timestamp | Response time in RFC 3339 (UTC). |
checks | Map name → "ok" | "fail: <reason>" for each verified dependency. |
Entries in
checks appear conditionally: db is always present; other dependencies (e.g., s3) only appear when configured on the server.Use in uptime monitors
Point a monitoring service (UptimeRobot, Better Stack, Pingdom, etc.) atGET /health:
200→ API healthy.503→ API degraded, fire the alert.
Notes
- No need to send the
tokenheader. Tokens sent are ignored. - The endpoint does not count toward the global limit of
100 req/min, and can be called without restriction by external probes.
Related
Overview
Where the endpoint sits in the API lifecycle.
Error types
Table of HTTP statuses used by RyzeAPI.