Skip to main content
A status page tells your users whether your services work. Each component on the page can follow a monitor, and you decide which incidents appear on it.

Create a status page

  1. Open your project and select Status pages in the sidebar, under Alerting.
  2. Select Create status page.
  3. Enter a Name and a URL slug, then select the create button.
The slug sets the page URL: https://squasher.ai/status/<slug>. Use lowercase letters, numbers, and single hyphens, with at most 100 characters. Each slug belongs to one status page in Squasher. If another page uses the slug, the form tells you to choose a different slug. On Team and above, the button is Create private page. The new page is private, so your users cannot see it until you publish it. Private pages need the Team plan or above, so on Free and Pro the button is Create public page and the page is public at once. Add its components right after you create it. When the project has all the status pages that the plan includes, the form shows the limit. You can also create a page with the CLI. Sign in first with squasher login. A page from the CLI is public at once.

Add components

A component is one row on the page, for example “Checkout” or “API”.
  1. Open the status page and select the Components tab.
  2. Under Add component, enter a Name and a Customer description.
  3. In Linked monitor, choose the monitor that sets the state of the component, or No direct monitor.
  4. Select Add component.
A component that follows a monitor changes its state after each check of the monitor. Use the up and down buttons to set the order on the page. See Monitors and incidents.

Publish the page

Select Publish on the status page. Unpublish hides it again. Unpublish needs a plan with private pages. A public page is at https://squasher.ai/status/<slug>, and the dashboard shows this URL. To use your own domain, see Custom domains for status pages. When the custom domain is active, the dashboard shows it instead, and the page is at both addresses. If you change the slug, the page URL changes too, and links to the old URL stop working. Links in the old form, https://status.squasher.ai/status/<page_id>/<slug>, redirect to https://squasher.ai/status/<slug>.

Post an incident to the page

Incidents stay private until you publish them. To publish one by hand:
  1. Open the incident and select the Communications tab.
  2. Under Publish to a status page, choose the status page and the affected components, and write a public title and summary. The summary is the first update, labeled Investigating.
  3. Check the Preview. Status page shows the incident with the page’s own colors, logo, and custom CSS, in light or dark. Email shows the email that subscribers get.
  4. Select Publish…. The confirmation names the page, its address, and how many subscribers get an email or a webhook. Select Publish to send it, or Cancel.
To post the next update, use Post a public update on the same tab. Choose a status (Investigating, Identified, Monitoring, Update, or Resolved), write the message, check the preview, and select Post update…. The update goes to the page and to the page’s confirmed subscribers. A Resolved update also resolves the incident. Public updates lists every update with its status, the person who posted it, the time, and the subscriber deliveries. Edit public details changes the title, summary, and components; the page shows the summary again as an Update, and subscribers get no email. Remove from page takes the incident off the page. A monitor can also publish its incidents on its own. Set autoPublishAfterMinutes in the monitor config, and Squasher publishes a failed monitor’s incident after that many minutes, on the component that follows the monitor. After the incident is resolved, you can add a link to a post-incident review: under Post-incident review on the Communications tab, enter the link and select Save review link….

What the public page shows

  • The Customer headline, a Subscribe to updates button, and a Get support button when you set a Support URL. Subscribe to updates moves to the email form and puts the cursor in the Email address field. A link to the page that ends in #subscribe does the same.
  • The overall state, with the time of the last update.
  • Active incidents with every public update, newest first, and the components they affect.
  • Maintenance windows linked to this page that have not ended. Maintenance windows need Team or above. Schedule them in the dashboard, with the API, the CLI (squasher maintenance create), or MCP. See Maintenance windows.
  • Each component and its state. A group component shows the worst state of its members and opens to list them. A group with a problem is open when the page loads.
  • A 90-day uptime bar for each component and group, with the uptime percentage for the 90 days. Point at a day, or move to it with the keyboard, to see its uptime, the minutes of downtime or degraded service, and the incidents on that day. Degraded days are striped, so you can tell them from outages without color.
  • For a component that follows a monitor, the p50, p95, and p99 response time of the last 24 hours. Open Response time to see a chart by hour.
  • Past incidents, grouped by the day they ended. Select one to see how long it lasted, the components it affected, its updates, and its post-incident review.
  • A form to get updates by email. See Email subscribers.
  • RSS and Atom links. The feeds are at /rss.xml and /atom.xml on the page URL, for example https://squasher.ai/status/acme/rss.xml.
  • Powered by and the Squasher logo, at the bottom, on Free and Pro. Pages on Team and Scale include white-label status pages and do not show it.
The page follows the light or dark setting of the visitor’s system. The theme switch at the bottom has three icon buttons: System, Light, and Dark. The selected button has an outline. How uptime is counted:
  • A component that follows a monitor uses the monitor’s checks. Uptime is the share of checks that did not fail. Paused checks do not count. Days before the monitor’s first check show No data.
  • A component without a monitor uses the incidents that you publish on it. The time of an incident with severity 1 or 2 counts as downtime. Other incidents count as degraded service.
  • A group shows the average uptime of its members.
To set the branding, open the status page and select the Domain and branding tab:
  • Brand color: a hex color, for example #0f766e. The page uses it for links, buttons, and focus outlines. If the color has less than 4.5:1 contrast with the page background, the page uses the default accent, so that links stay readable. In dark mode, links use the color only when it also reads at 4.5:1 on the dark background.
  • Logo URL: an https link to a PNG, SVG, or WebP image. The page shows it next to the page name, at most 32 px tall and 160 px wide, in light and dark mode. Use a logo that reads on both a white and a near-black background.
  • Favicon URL: an https link to a square PNG, ICO, or SVG image for the browser tab.
  • Support URL: an http or https link for the Get support button.
  • Custom CSS: styles that load after the page styles, up to 20,000 characters. Custom CSS needs a plan that includes it; if the plan changes, the page stops using it. The page cannot run scripts from the custom CSS.
The page ignores a logo or favicon link that does not use https. The page is cached for up to 5 minutes. Monitor state changes and published incidents update it sooner.

Email subscribers

Users enter their email address in the form on the public page. Squasher sends a confirmation email, and updates start only after the user opens the link and confirms. On the confirmation page, the user can select components to limit the updates, or select none to get updates for the whole page. Each update email has an unsubscribe link. Repeated requests for the same address, or from the same network, are rate limited. The number of confirmed subscribers in a project follows your plan. To see or remove subscribers, open the Subscribers tab of the status page, or use squasher subscribers. See Subscribers API.

Plan limits

Every plan includes at least one status page. The plans limit the number of pages, components, and subscribers. Private pages and maintenance windows need Team or above. Custom domains need Pro or above. See Plans and limits.

Next steps

Use your own domain

Serve the page on status.example.com.

Monitors and incidents

Add the monitors that the components follow.