Status Pages
Publish a public page of the journeys that work right now, verified by Monito in a real browser, on a free subdomain or your own domain.
A status page shows visitors what they can do in your app right now: sign in, check out, invite a teammate. Each journey is proven by your scheduled Monito tests in a real browser, with the time it was last verified. Nobody has to update it by hand.
Status pages need the Pro plan.
Set it up
- In your project, open Status page and choose Set up status page.
Pick an address (
your-app.monito.page), the name visitors see and the environment the page reports on (usually production). - Edit journeys. Give each journey a public name and description, and pick the tests that prove it. A journey works only when all of its tests pass. Start from suites makes one journey per suite.
- Make sure a schedule covers those tests on that environment (Automations → New automation → Schedule). The page shows how often each journey is checked and what it costs in credits.
- Preview, then Publish.
How the page decides
- Only scheduled and deploy-webhook runs count. Runs you start while editing a test, CI runs against previews and repeat or fix-verification commands never change the page.
- A failure is re-checked before it goes public. The first failure starts one confirmation run (1 credit). Only a second failure in a row shows the journey as not working. You can turn re-checks off; then two scheduled failures in a row are needed.
- A test must pass once before it can fail publicly. After you edit a test's instructions, its failures don't count until the new version has passed once.
- Monito's own problems are never your outage. A run that ends because of Monito (a timeout, a model provider error, lost evidence) or because of test setup (a missing login, a failed fixture) leaves a gap, not a failure. So does a run whose browser got no answer from your site: the probes decide whether it is responding, since a run alone can't tell a site that's down from one that blocks Monito.
- Freshness is visible. Each journey says when it was last verified. Without a fresh check (two schedule intervals), it reads "not verified since …", never "working".
- Flapping shows as intermittent, not as a stream of outages.
- Uptime counts only verified time. Visitors see time affected, the number of checks, and how much of the period was verified.
Incidents
Incidents open when a journey is confirmed as failing (or the site stops responding) and resolve when a check passes again. You can:
- Post an update. It is published exactly as written, signed by your team.
- Retract it when the check was wrong. It stays visible as retracted and is removed from uptime. Retracting a "not responding" incident also turns probes off, since they would report it again; turn them back on once the probe can reach your site.
- Choose Publishing failures → After my review to hold confirmed failures for up to 30 minutes, so you can publish or dismiss them first.
You get an email whenever the page changes state.
System health
Every 5 minutes a probe fetches your environment's address (and up to three
extra public URLs) with the user agent
MonitoStatusProbe/1.0 (+https://monito.dev/docs/guides/status-pages). Two
failed probes in a row (a network error, a timeout or a 5xx) show the site as
not responding. The page also shows response times. If your firewall
challenges the probe, allow the user agent or turn probes off. Probes only
reach public addresses: an address that resolves to a private network isn't
probed, and that is never shown as an outage.
What visitors see, and what they never see
Visitors see journey names and descriptions, states, times, check counts, uptime and incident text. Test names and instructions, URLs, bug reports, screenshots, recordings, deploy details, credits and internal IDs are never published.
Don't publish journeys whose failure would help an attacker, such as fraud checks, rate limits, 2FA or password reset.
Your own domain
Under Custom domain, enter a hostname such as status.your-app.com.
- Add the TXT record shown (
_monito-challenge.…). It proves you own the domain. - Add the CNAME (or, for a root domain, the A record) shown. Values are specific to Monito's hosting, so copy them from the dashboard.
- Choose Check DNS, or wait: Monito checks every few minutes. DNS can take up to a day to propagate. Once it's live, the certificate is issued automatically and your domain becomes the page's main address.
Adding a domain doesn't reserve it: the first status page to prove ownership with its TXT record serves it. If you remove the domain or delete the page, Monito releases it from its hosting; also delete its DNS records.
For scripts and agents
Every status page also serves:
| Path | What |
|---|---|
/status.json | The full public state (CORS enabled) |
/index.md | Markdown for AI agents (also on Accept: text/markdown) |
/feed.xml | Atom feed of incidents |
/badge.svg | A badge for READMEs; /badge/<journey id>.svg per journey |
/opengraph-image.png | The link preview, showing the current state |