// Platform

Status & Maintenance

Public status page surfaces overall platform health, per-service indicators, and 90-day uptime history. Project operators schedule and lifecycle maintenance windows from the same API the dashboard uses; xeroctl maintenance drives the CLI path.

Status Page

The public status page at /status shows the current health of all Xerotier services. It is accessible without authentication and works for both logged-in and anonymous visitors.

The status page displays:

  • Overall platform status
  • Per-service health indicators
  • 90-day uptime history with percentage
  • Recent maintenance windows (last 50, all lifecycle states)

Overall Status Levels

Status Label Status Key Description
All Systems Operational operational All services are functioning normally.
Degraded Performance degraded One or more services are experiencing reduced performance.
Partial Outage partial_outage Some services are unavailable while others continue to function.
Major Outage major_outage All tracked services are reporting an outage.
Under Maintenance maintenance The platform is in an active maintenance window. This takes precedence over other status levels.

Precedence: Maintenance overrides any service-level status. Otherwise, the worst per-service status wins: outage > degraded > operational.

Known limitation. The status page currently renders the same icon for every overall status level. The textual label and status key above are authoritative; the icon is being repaired.

Programmatic Health

The /status page itself is rendered as HTML and is not a JSON surface. For machine-readable monitoring, use one of the dedicated health endpoints below. Use a reasonable poll interval (60-300 seconds) so that aggressive polling does not trip intermediate rate limits.

Method Endpoint Auth Purpose
GET /healthz None (public) Liveness probe. Returns a small JSON body when the process is alive.
GET /:project_id/v1/health/dashboard Project API key Per-project health dashboard including routing, workers, and endpoints. Returns HealthDashboardResponse JSON.
curl
curl https://xerotier.ai/healthz curl -H "Authorization: Bearer $XEROTIER_API_KEY" \ https://xerotier.ai/$PROJECT_ID/v1/health/dashboard

Service Health Indicators

The status page tracks health for these services:

Service Health Derivation
Dashboard Always Operational when the status page renders (same process).
Inference Routing Derived from router instance records. Operational when all routers are online; Degraded when some are offline; Outage when none are online or no routers exist.
Shared Agents Only shown when shared agents are registered on the platform. Health is based on heartbeat freshness (30-second stale threshold): Outage when more than 75% of agents are stale; Degraded when more than 50% are stale; Operational otherwise.
Model Storage Always Operational (backend storage health is not polled in real time).

For richer, machine-readable health that includes per-endpoint and per-worker state, call GET /:project_id/v1/health/dashboard instead of scraping the status page.

Maintenance Windows

Project operators schedule maintenance windows for their own projects through the project-scoped management API (/:project_id/v1/management/maintenance) and the xeroctl maintenance commands below. Windows appear on the status page for up to 50 most recent entries, ordered by start time (newest first), and include every lifecycle state (scheduled, active, completed, cancelled). Publishing a window surfaces a notice on the status page; it does not block API traffic.

Lifecycle States

Project-scoped windows persist an explicit status column written by the management API and CLI:

status value Meaning
scheduled Default on create. Window is announced and not yet active.
active Window is currently running.
completed Window has been marked complete via POST /v1/management/maintenance/{id}/complete.
cancelled Window has been cancelled via DELETE /v1/management/maintenance/{id}.

Project-Scoped Management API Fields

Used by POST /:project_id/v1/management/maintenance and the xeroctl maintenance commands below. All wire fields are snake_case.

Field Type Description
title string, required Short title for the window (1-200 characters).
description string, required Long-form description shown on the status page (up to 2000 characters).
severity string, optional One of info, warning, critical. Defaults to info.
affected_services string[], optional Names of services affected by the window.
starts_at string (ISO 8601), required When the maintenance window begins.
ends_at string (ISO 8601), required When the maintenance window ends.
status string Lifecycle state. One of scheduled, active, completed, cancelled. Defaults to scheduled on create.
completed_at string (ISO 8601), response-only Set when the window is marked complete.
cancelled_at string (ISO 8601), response-only Set when the window is cancelled.
updated_at string (ISO 8601), response-only Last modification time.
created_by string, response-only Identity of the operator who created the window.

xeroctl maintenance

Project operators manage maintenance windows through the xeroctl maintenance command group. Each leaf maps directly to the project-scoped management API.

Command Method API call
xeroctl maintenance list GET /:project_id/v1/management/maintenance
xeroctl maintenance schedule POST /:project_id/v1/management/maintenance
xeroctl maintenance update <id> PATCH /:project_id/v1/management/maintenance/{id}
xeroctl maintenance cancel <id> DELETE /:project_id/v1/management/maintenance/{id}
xeroctl maintenance complete <id> POST /:project_id/v1/management/maintenance/{id}/complete
xeroctl maintenance purge <id> POST /:project_id/v1/management/maintenance/{id}/purge
Examples
xeroctl maintenance list xeroctl maintenance schedule \ --title "Database upgrade" \ --description "Brief read-only window during the PG14 upgrade." \ --severity warning \ --starts-at 2026-05-22T02:00:00Z \ --ends-at 2026-05-22T03:00:00Z xeroctl maintenance update mw_abc123 --severity critical xeroctl maintenance complete mw_abc123 xeroctl maintenance cancel mw_abc123 xeroctl maintenance purge mw_abc123