A status page shows your visitors whether an application is up, without giving them anything else about you or your servers. It is off for every app until you publish it, and you can withdraw it at any time.
What visitors see
The page shows only:
the public name you choose (not the app's internal name);
the current state:
State Meaning Operational At least two measurement regions reach the app. Major outage At least two regions fail to reach it for the window of your uptime rule. Degraded Fewer than two measurement regions are currently healthy, so the state cannot be confirmed. This describes our measurement, not necessarily your app. Not monitored yet There is no uptime measurement for this app (see Before you start). availability over the last 24 hours, 7 days and 90 days, as a percentage of successful checks from all regions together, or "No data yet";
the incident list: when each outage started, when it ended (or "ongoing") and how long it lasted, up to the last 15.
It never shows your domain, an IP address, the app or account ID, your
e-mail, or which regions measure it. The page loads no third-party resources,
sends no referrer and sets no cookie. The same data is available as JSON with
?format=json or Accept: application/json.
Before you start
- An uptime rule on the app. The page is built from the external uptime
checks, which run only for apps with an enabled external unreachable
alert rule (metric
uptime). Without it the page shows "Not monitored yet" and no availability. Add it in My Apps → Advanced → Metrics & alerts, or withimpreza_set_alert_rule. - A public HTTPS domain or an
.onionaddress. The checks reach the app on its own domain over HTTPS (port 443), or on its.onionover Tor. Apps reachable only over HTTP, on another port or by IP address are not checked.
The checks run once a minute from several regions. Samples are kept for 48 hours, hourly totals and state changes for 90 days.
Publish the page
Portal: open the app in My Apps → Advanced, card Public status page, type the Public name and choose Publish status page. The card is offered for custom apps; for a catalog app, use the API or MCP. Only a login that may manage the account's apps sees these controls.
REST (scope manage):
PUT /v1/platform/deployments/custom/{deployment_id}/status-page
{"public_name": "My service", "enabled": true}
MCP: impreza_set_status_page with deployment_id and public_name, on
the hosted connector or the local impreza-mcp 0.56.0 or later.
impreza_get_status_page (scope read) shows whether the page is on, its
name and its address.
The answer contains the page address, https://api.imprezahost.com/status/stp_….
The token after /status/ is random: it says nothing about you or the app.
Anyone who has the address can open the page, so share it only where you
want it seen.
Rename, rotate or withdraw
- Rename: publish again with a new
public_name, or Save name in the portal. The address does not change. - Rotate the address:
POST /v1/platform/deployments/custom/{deployment_id}/status-page/rotate, Rotate address in the portal, orimpreza_set_status_pagewithrotate_token: true(the name stays as it is). A new random address is created and the old one answers404. - Withdraw:
DELETE /v1/platform/deployments/custom/{deployment_id}/status-page, Withdraw in the portal, orimpreza_set_status_pagewithenabled: false. The address answers404. Publishing again later creates a new address.
After a rotation or a withdrawal the old address answers 404 from the next
request. A page is served with a one-minute cache, so a copy fetched just
before can still be shown for up to 60 seconds. Unknown, malformed and
withdrawn addresses all answer the same 404.
Limits
- One page per app. The public name has 1 to 80 characters.
- Visitors are rate limited per network address (60 requests a minute by
default;
429withRetry-Afterabove that). The limiter keeps only a daily-rotated keyed hash of the address, for two minutes. - Apps with an
.onionaddress: while the page is published, requests for/status/…on the app's own addresses are answered by the status page service, so the app's own/status/path is not reachable there. The address the API returns is always the clearnet one. - Availability counts every region's check. One region that cannot reach the app lowers the percentage even while the state stays Operational.