Status JSON
How fresh ClaudeMon's data is: a summary and every source's health in one read. It measures our collection, not whether the labs are up.
GET /api/v1/status
Parameters
assertstringOptional1answers503instead of200whensummary.okis false, so an uptime monitor alerts even if the scheduler stopped.
Response
Example response
{
"summary": {
"ok": false,
"sources": 70,
"fresh_percent": 94.3,
"late": 0,
"stale": 2,
"errors": 2,
"checks_last_hour": 1648,
"ticks_last_hour": 60,
"last_tick_at": "2026-10-21T09:03:53.481Z",
"last_tick": {
"status": "ran",
"ingest": true,
"due": 36,
"claimed": 36,
"outcomes": {
"unchanged": 29,
"changed": 7
},
"duration_ms": 15983,
"finished_at": "2026-10-21T09:04:09.464Z"
},
"ingest": true,
"version": "6e3c0981-5ff6-4df6-b7d2-d6ad27809c52"
},
"sources": [
{
"id": "anthropic-claude-apps-changelog-file",
"lab": "anthropic",
"product": "anthropic.claude-apps",
"shape": "changelog-file",
"interval_seconds": 240,
"state": "ok",
"last_checked_at": "2026-10-21T09:02:44.081Z",
"last_success_at": "2026-10-21T09:02:44.081Z",
"last_changed_at": "2026-10-17T22:14:29.165Z",
"last_new_item_at": null,
"next_check_at": "2026-10-21T09:06:44.081Z",
"consecutive_failures": 0,
"last_error_class": null
},
{
"id": "anthropic-claude-code-changelog-file",
"lab": "anthropic",
"product": "anthropic.claude-code",
"shape": "changelog-file",
"interval_seconds": 240,
"state": "ok",
"last_checked_at": "2026-10-21T09:02:40.108Z",
"last_success_at": "2026-10-21T09:02:40.108Z",
"last_changed_at": "2026-10-21T03:35:54.939Z",
"last_new_item_at": "2026-10-21T03:22:56.178Z",
"next_check_at": "2026-10-21T09:06:40.108Z",
"consecutive_failures": 0,
"last_error_class": null
}
]
}
summary and sources, every source including disabled ones. Each source has id, lab, product, shape, interval_seconds and the health fields inline.
The summary object
okboolean- True when a tick started in the last 5 minutes, no completed failure is awaiting recovery, no current tick has exceeded its 2-minute running lease, and no enabled source is Stale. A lock-only tick cannot clear a failure.
sourcesinteger- Enabled sources.
fresh_percentnumber- The share of enabled sources that are OK, one decimal.
lateinteger- Enabled sources that are Late.
staleinteger- Enabled sources that are Stale.
errorsinteger- Enabled sources that are Failing (
error). checks_last_hourinteger- Source checks started in the last hour.
ticks_last_hourinteger- Recorded ticks in the last 60 whole minutes, excluding the current incomplete minute. Fewer than 60 exposes missing minutes.
last_tick_atstring or null- When the scheduler last ran.
last_tickobject or null- What the latest scheduled minute recorded, including its terminal status and
finished_atwhen available. Completion order determines recovery even if an older minute finishes last. ingestboolean- Whether this deployment checks sources at all.
versionstring- The deployed Worker version ID.
Headers
Cache-Controlno-cache. No ETag.