# Publish a status page

> A public page at app.lampwick.dev/status/SLUG with the status and daily uptime (up to 90 days) of the monitors you pick, plus incident and maintenance notices.

A status page shows your customers the status and daily uptime of the [uptime monitors](/docs/uptime/) you pick, and the incident and maintenance notices you post. It lives at `https://app.lampwick.dev/status/SLUG`, also as JSON.

## Requirements

- Owner of the team. Members can view the team's status pages, not change them.
- At least one uptime monitor in one of the team's projects.
- At most 10 status pages per team.

## Create and publish a page

1. Go to **Status pages** in the sidebar.
2. Under **New status page**, enter a **Title** and a **Slug**. If you own more than one team, pick the **Team**. Click **Create status page**. The page starts as a **Draft**.
3. Under **Monitors on the page**, tick the monitors to show, from any of the team's projects.
4. Under **Shown publicly**, give each a public name (required; filled in with the monitor's name). Use the arrows to set the order.
5. Click **Save and publish**.

**Preview** shows the page, drafts too, to team members only. **Unpublish** takes it offline at once (`404`).

## Check that it works

Open `https://app.lampwick.dev/status/SLUG` in a private window, with `SLUG` the slug you chose. The page needs no login, cookies or JavaScript.

## Slugs

- 3 to 40 characters: `a-z`, `0-9` and `-`, not at the start or end. Unique across Lampwick.
- Reserved words such as `api`, `admin`, `status` and `lampwick` can't be used.
- A freed slug (renamed, or deleted with its page or team) stays reserved for that team for 30 days, and the old slug of a renamed page redirects to the new one.

## What the public page shows

The overall status at the top:

| Status | When |
|---|---|
| Major outage | All monitors with a status are down. |
| Partial outage | Some are down. |
| Ongoing incident | An incident is open, also when everything is up. |
| Maintenance in progress | A maintenance notice has status in progress. |
| All systems operational | Otherwise. |
| Status not available yet | No monitor has a status yet. |

Below that, each monitor's status and a bar per day (UTC): green from 99.5% uptime, orange from 95%, red below, grey without checks. The bar covers 90 days, or fewer when your data retention is shorter; on a phone, 30. A paused monitor shows **Monitoring paused**, a new one **Starting soon**.

The page never shows monitor URLs, error messages, status codes, response times, project or team names, members or ids.

## Post a notice

1. Open the status page and go to **Post a notice**.
2. Pick the **Type**: incident or maintenance.
3. Enter a **Title** and, optionally, a **Message** in plain text (no HTML or Markdown).
4. Pick a **Status**. Incidents: investigating, identified, monitoring, resolved. Maintenance: scheduled, in progress, completed.
5. For maintenance, set **Starts** and **Ends** (UTC, optional). They show as "Sun 9 Nov, 02:00–03:00 UTC".
6. Click **Post notice**.

Open notices come first, incidents before maintenance. **Mark resolved** or **Mark completed** closes one; closed notices stay visible for 14 days. At most 200 notices per page.

## JSON for your own site

```bash
curl https://app.lampwick.dev/status/SLUG.json
```

It answers with `Access-Control-Allow-Origin: *` and has `title`, `description`, `url`, `status` (`operational`, `partial_outage`, `major_outage`, `maintenance` or `unknown`), `status_text`, `history_days`, `generated_at`, `components` and `notices`. Each component has `name`, `status` (`operational`, `outage`, `paused`, `pending` or `unknown`), `uptime` in percent and `days` as `[{date, uptime}]`.

Both are cached for 30 seconds, but an owner's change shows at once. Each IP address can make 300 requests per 5 minutes, then gets `429`.

## API

`listStatusPages`, `createStatusPage`, `getStatusPage`, `updateStatusPage` (also publish and unpublish), `deleteStatusPage`, and `createStatusNotice`, `updateStatusNotice`, `deleteStatusNotice`. On the [MCP server](/docs/mcp/), agents can only list and read status pages.

## Troubleshooting

| What you see | Cause and fix |
|---|---|
| "a published status page needs at least one monitor" | Tick a monitor under **Monitors on the page** before you publish. |
| "that slug is already taken; pick another" | Another page uses it, or used it in the last 30 days. Pick another slug. |
| The public URL answers `404` | The page is a draft or was unpublished. Click **Save and publish**. |
| A monitor disappeared from the page | The monitor or its project was deleted. |

To tell your team when a monitor goes down, see [alerts](/docs/alerts/).
