API reference

Telemetry API

A public, read-only snapshot of the home server's health.

Telemetry serves the latest health sample of the home server. It is public and read-only, so no token is needed. Responses name the host's services but include no hostnames or IP addresses. Limits: each client address gets 60 requests a minute. A limited request gets 429 with a Retry-After header in seconds. Other paths, and methods other than GET, get 404 with code not_found. OPTIONS answers 204 for CORS preflight. Browsers: responses carry Access-Control-Allow-Origin: https://sasek.org. A browser on any other origin cannot read them. Other clients are not affected. Caching: a sample is served with Cache-Control: public, max-age=5. The health route is never cached.

Auth. None. Each operation says whether it needs a token.

Health

MethodEndpointWhat it does
GET/v1/summaryThe latest snapshot
GET/v1/uptimeUptime for each service, by day
GET/v1/healthIs the latest sample fresh?

Schemas

Summary

FieldTypeRequiredDescription
versionintegerrequired
collected_atstring (date-time)requiredWhen the sample was taken, in UTC.
containersobjectrequiredEvery container Docker lists on the server, including helpers that are not services.
servicesobject[]optionalOur services, in the order the status page shows them. Each one's dependencies are nested under it.
cpuobjectrequired
memoryobjectrequired
diskobjectrequired

Uptime

FieldTypeRequiredDescription
versionintegerrequired
window_daysintegerrequired
servicesobject[]requiredOur services, in the order the status page shows them.

Health

FieldTypeRequiredDescription
healthybooleanrequired
collected_atstring or null (date-time)requiredWhen the newest sample was taken, or null before the first one.

NotReady

FieldTypeRequiredDescription
errorstringrequired
codestringrequired

Error

FieldTypeRequiredDescription
errorstringrequired
codestringrequired