---
title: Status pages in WatchFor
description: Publish a live status page at yourname.watchfor.io — components backed by monitors, incident updates, maintenance notices, uptime history, RSS, badge and JSON.
canonical: https://watchfor.io/docs/status-pages
---

# Status pages in WatchFor

Publish a live status page at yourname.watchfor.io — components backed by monitors, incident updates, maintenance notices, uptime history, RSS, badge and JSON.

A **status page** is the customer-facing side of your monitoring — one page
that answers "is it just me, or is the service down?" without anyone opening a
ticket. WatchFor status pages are driven by the same monitors and incidents
your team already uses, so they stay current without manual work, while you
keep control of what is said publicly and to whom.

Status pages are managed under **Status pages** in the dashboard sidebar by
owners and admins; members see the list and the public links, but can't
create, edit or delete a page, its components or announcements (see
[members & roles](/docs/organization)).

## Create a status page

### Start a page
Give it a **name**, an optional description, and a **URL name** (slug). The
slug becomes the page's address — `yourname.watchfor.io` — so it must be 3–50
lowercase letters, digits and dashes, and it has to be unique across WatchFor.
Brand, system and abuse-prone names are reserved. You can run **several
pages** (for different products, regions or audiences); how many depends on
your plan — see [pricing](/pricing).

### Add components
Build the page from [components](/docs/status-pages/components) — the
services your customers recognize ("API", "Dashboard", "EU region"), each
backed by one or more monitors or by a third-party provider's own status page.

### Choose visibility and branding
Make the page [public, password-protected or private](/docs/status-pages/visibility).
Upload a **logo**, choose its header position (left, center, right) and a
**default theme** (auto — follows the visitor's system setting — light or dark).

### Publish
The page is live at **`watchfor.io/stats/yourname`** as soon as you save it —
that is the address WatchFor shows everywhere (the list, the editor, the
badge snippet, the API and the feed); the same page also answers at
`yourname.watchfor.io`. Share the link; it updates itself as incidents open
and resolve.

> **Also via API**
>
> Status pages, their components and announcements can be created and updated
> from the [REST API](/docs/api/status-pages) — for example to post an
> incident notice from your own incident tooling. Password protection and
> logo upload stay in the dashboard.

## What's on a page

- An **overall status banner**: *All systems operational*, *Some systems
  degraded*, *Major outage* or *Scheduled maintenance*.
- Each **component's** current state — operational, degraded, down, or
  under maintenance (blue) while a [maintenance window](/docs/monitors/maintenance)
  is active for its monitors.
- A **per-component uptime heatmap** with uptime percentages. The default view
  is the last 30 days; visitors can page back through earlier three-month
  calendar windows.
- **Active incidents** with their update timeline, and **scheduled
  maintenance** notices — see [Incident updates & maintenance](/docs/status-pages/updates).
- **Incident history**: every published incident has its own page with the
  full timeline and, when you choose to publish one, the
  [post-mortem](/docs/alerting/postmortems).
- An **RSS feed** (`/feed.xml`) on public pages, plus a
  [status badge and JSON endpoint](/docs/status-pages/embed) for your own site
  or dashboards.

## Automatic where it should be, manual where it matters

- **Auto-publish incidents** (on by default): when a monitor attached to the
  page opens a confirmed [incident](/docs/alerting/incidents), WatchFor posts
  a status-page incident with default wording and marks the affected component;
  when the internal incident resolves, the public one resolves too. The public
  incident starts at the moment the internal one started, so the heatmap,
  `status.json` and the incident page agree with your dashboard to the second,
  and a monitor gets **one** public incident at a time — a second internal
  incident on the same monitors while the first is still open doesn't post a
  duplicate. Turn auto-publish off if you prefer to announce everything by
  hand.
- **Manual announcements**: post incidents in your own words with a status
  timeline (Investigating → Identified → Monitoring → Resolved) and a severity
  that drives the component state. See
  [Incident updates](/docs/status-pages/updates).
- **Maintenance** is announced from [maintenance windows](/docs/monitors/maintenance),
  never typed directly on the page — so an unplanned outage can't be relabelled
  as "maintenance" after the fact.

## Uptime honesty

- Time inside an active maintenance window is shown as **maintenance**, not
  downtime, and incidents fully covered by a window are kept out of the
  history. An outage that is **still going on when the window ends** shows
  on the page as soon as the window closes — the short grace period after a
  window only applies to incidents that resolved inside it.
- An incident your team marked as a
  [false positive](/docs/alerting/resolving#false-positives) is removed from
  the page and its history.
- A third-party provider's outage shows on its own component but **does not**
  change your page's overall banner — it's their outage, not yours.
- Turn on **"Mark days before monitoring as 'no data'"** if you want heatmap
  days that pre-date a monitor's creation to show as gray "no data" rather than
  green. It is off by default so a fresh page doesn't look half-empty.

## Good to know

- The public page is **cached for about a minute** and refreshed as soon as
  you change something — including when a maintenance window starts or ends —
  so it stays fast even under a traffic spike during an outage. Visitors'
  browsers also refresh it every minute.
- Only owners and admins create, edit and delete status pages (members can
  view and preview them). A page can be deleted from its edit page (**Danger
  zone**) as well as from the list; deleting it removes its components and
  announcements.
- Every create, update and delete — of pages and of announcements — is
  recorded in the [activity log](/docs/organization/activity-log).
- Custom domains (`status.yourcompany.com`) and email subscriptions for
  visitors aren't available yet; RSS, the badge and `status.json` are the ways
  to follow a page today.

	- [Components & grouping](/docs/status-pages/components): Back components with monitors or mirror GitHub, Cloudflare, Stripe and more.
	- [Visibility](/docs/status-pages/visibility): Public, password-protected or private.
	- [Incident updates & maintenance](/docs/status-pages/updates): Communicate during incidents and planned work.
	- [Status badge & embed](/docs/status-pages/embed): Live badge, JSON endpoint and RSS for your own site.

---

Canonical page: https://watchfor.io/docs/status-pages · All docs: https://watchfor.io/docs · Site guide: https://watchfor.io/llms.txt
