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 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 |
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