Status API
Read-only endpoints for monitor status, rolling uptime, and incident history. Responses are JSON; all timestamps are UTC (RFC 3339).
Base URL
All endpoints are served from the probe node region:
https://de1.uptimegrid.org/api/v1
Authentication
Public status endpoints are open. Account-scoped endpoints expect a bearer token in the Authorization header. Tokens are issued per workspace from the dashboard.
# public — no auth curl https://de1.uptimegrid.org/api/v1/status # scoped curl -H "Authorization: Bearer $TOKEN" \ https://de1.uptimegrid.org/api/v1/monitors
GET /status
Returns the aggregate state for the region and a summary per monitor.
{
"region": "eu-central",
"node": "de1",
"state": "operational",
"uptime_30d": 0.9998,
"monitors": [
{ "id": "edge", "state": "up", "rtt_ms": 38 },
{ "id": "api", "state": "up", "rtt_ms": 51 },
{ "id": "store", "state": "up", "rtt_ms": 72 }
],
"checked_at": "2026-06-08T22:41:09Z"
}
GET /monitors/{id}/uptime
Rolling uptime for a single monitor. Supported windows: 24h, 7d, 30d, 90d.
curl "https://de1.uptimegrid.org/api/v1/monitors/edge/uptime?window=7d"
GET /incidents
Chronological incident feed. Each entry carries a severity, start/end time, and the resolution note shown on the public status page.
Rate limits
- Public endpoints: 60 requests / minute / IP
- Scoped endpoints: 600 requests / minute / token
- Exceeding a limit returns
429with aRetry-Afterheader
Webhooks
Subscribe to state changes and incident lifecycle events. Payloads are signed with an HMAC-SHA256 signature in the X-UG-Signature header so you can verify origin before processing.
JSON only
Predictable schema, no surprises. Errors return a machine-readable code and message.
UTC everywhere
Every timestamp is RFC 3339 in UTC. No timezone math on your side.
Stable versioning
The /v1 contract is frozen. Breaking changes ship under a new prefix.