System health & version #
GET /status, /health, and /version. Unauthenticated endpoints for monitoring and client compatibility.
Three unauthenticated endpoints expose the API's runtime state. Use them for synthetic monitoring, deploy gates, and client compatibility checks. None of them count against your wallet or rate limits.
GET /status
GET /statusLightweight uptime check. Returns 200 if the API is accepting traffic.
| Method | Path | Auth | Returns |
|---|---|---|---|
GET | /api/v1/status | none | 200 OK + StatusResponse |
curl https://api.datadistillers.com/api/v1/status
{
"status": "API is running",
"timestamp": "2026-05-03T09:12:04Z"
}
The status field is always the literal string "API is running" when the
endpoint returns 200; it's intended for grep checks, not for
machine-readable state. For dependency status, use /health.
GET /health
GET /healthComprehensive health check including downstream dependencies (database, queue, storage, model service).
| Method | Path | Auth | Returns |
|---|---|---|---|
GET | /api/v1/health | none | 200 OK + StatusResponse (when healthy) |
curl https://api.datadistillers.com/api/v1/health
{
"status": "API is running",
"timestamp": "2026-05-03T09:12:04Z"
}
If a dependency is degraded but traffic is still served, you may still get
a 200, but with a longer response time. Wire /health into your synthetic
monitor with a 2-second timeout to catch latency-shaped degradations.
For partial outage details (which subsystems are slow), check the public status page rather than introspecting this endpoint.
GET /version
GET /versionReturns the API's current version string and environment label. Use for client-side compatibility checks and to log which version your integration talked to.
| Method | Path | Auth | Returns |
|---|---|---|---|
GET | /api/v1/version | none | 200 OK + ApiVersionResponse |
curl https://api.datadistillers.com/api/v1/version
{
"version": "1.0",
"environment": "production",
"timestamp": "2026-05-03T09:12:04Z"
}
| Field | Notes |
|---|---|
version | Semver. The major version (1.x) is also encoded in the URL prefix /api/v1. |
environment | production, staging, or development. Matches the deployment, not your API key. |
timestamp | Server clock. Useful for diagnosing client-side clock skew (HMAC verification depends on this). |
Wiring it into monitoring
A reasonable synthetic-monitor configuration:
| Endpoint | Frequency | Timeout | Alert on |
|---|---|---|---|
/status | 30s | 1s | Any non-200 |
/health | 60s | 2s | Any non-200 or > 2s response |
/version | 1h | 5s | Unexpected version change |
Don't run /wallet from a synthetic monitor; it counts against
authenticated rate limits. Use /status as the unauthenticated equivalent
for "is the API reachable?" checks.