Status
/api/v1/statusReturns public targets, current state, SLA summaries, incidents, frontend appearance, ping targets, and the latest Agent telemetry. It is the main entry point for alternate frontends.
Query parameters
| Parameter | Required | Default | Range | Purpose |
|---|---|---|---|---|
days | no | server default | 1–90 | daily summary and SLA span |
lite | no | 0 | 0 or 1 | 1 returns first-screen-friendly data |
curl -fsSL 'https://YOUR-API/api/v1/status?days=30&lite=1'Top-level fields
| Field | Purpose |
|---|---|
name | public site name |
now | server ISO time |
days | date list in the response |
regions | region code to display name |
region_proxy_enabled | regional Durable Object binding |
frontend_theme | built-in theme name |
frontend | publicly filtered theme/appearance settings |
traffic | current traffic period description |
privacy | public policy for IPs, ports, datacenter info |
storage | storage capabilities and cache TTLs |
timezone | SLA aggregation timezone |
targets[] | target profiles, current checks, agent state, latency sources |
summaries[] | per-target daily SLA aggregation |
incidents[] | recent failure/recovery events |
ping_targets[] | enabled Agent TCP ping targets |
warnings[] | non-fatal sync or data warnings |
targets[] key fields
id,name,group_name,type: stable identity and classification.location,city,provider,line_type: public profile.ok,checked_at,latency_ms: current Cloudflare check.agent_online,last_metrics_at,agent_version: Rust Agent state.agent_metrics: publicly filtered latest system metrics.latency_sources[]: Cloudflare and external sources inside the stale window.has_nq,nq: whether a NodeQuality report exists and when it updated.unlock: desensitized service results from a manual IPv4 unlock check.no_public_ip: hides the target IP, port, and active latency data.
ok is the Cloudflare active check; agent_online is whether the metrics agent reported recently. Display them separately; do not let one override the other.
agent_metrics.vps_info.total_disk_gb is the root filesystem capacity, not a sum of mounts; same-device bind mounts are not double counted.
Lite mode
Request lite=1 for first paint, then load checks, metrics, pings, or latency when details open. Lite keeps targets, summaries, incidents, privacy, appearance, and warnings but drops per-day target details and heavy fields like agent_metrics.pings.
Time and ordering
Server time may differ from the client. Use now as the reference when computing "just reported"; sort history arrays by numeric timestamp explicitly.
Privacy
The server masks IPs, hides ports, strips URL credentials, and removes internal error details per deployment settings. Do not try to reconstruct these from other public fields, and do not cache admin API data as a public-status substitute.
For TCP targets with no_public_ip, Cloudflare checks and external latency are hidden, status_source becomes Agent, and ok/checked_at/latency_ms may be null. Show Agent online state only; do not interpret null as a failure.
Caching and warnings
Default status cache is ~20 s, adjustable 0-300 s. Public v1 cannot bypass it with fresh=1; only internal status requests with a valid admin session force refresh. warnings[] means optional sources degraded; the main targets still render.