openstatus logoDashboard

Status Page Reference

Overview

A status page is a dedicated web interface provided by openstatus that publicly displays the operational status of your services and systems. It serves as a transparent communication tool during incidents and for showcasing overall service health.

Key features:

  • Real-time service status updates.
  • Incident communication and history.
  • Customizable branding and domain.
  • Multiple access control options.
  • Multi-language support with a locale switcher.

Configuration

openstatus provides several configuration options to customize your status page's appearance, accessibility, and functionality.

Slug

Type: String (required) Format: URL-friendly string (e.g., my-service-status)

A unique identifier that forms part of your status page's default URL. For example, a slug of status will result in a URL like https://status.openstatus.dev.

Custom Domain

Type: String (optional) Format: Valid domain name (e.g., status.example.com)

Allows you to host your status page on a custom domain. Once configured, your status page will be accessible at https://your-custom-domain.com.

DNS Configuration:

Domain typeRecordNameValueTTL
Subdomain (e.g., status.example.com)CNAMEstatuscname.vercel-dns.com86400
Apex domain (e.g., example.com)A@76.76.21.2186400

Domain verification (conditional): If your domain is already registered on another Vercel project, a TXT record will be required to prove ownership. The dashboard will display the exact TXT record name and value when this step is needed.

After saving your custom domain in the dashboard, the exact DNS records will be displayed with any additional verification steps needed.

Password (Basic Auth)

Type: String (optional)

Enables basic password protection for your status page. If a password is set, users will be redirected to a login page (/login) to gain access. The password is stored in a cookie upon successful authentication.

Sharing with password: You can provide direct access by appending the password as a URL search parameter: https://[slug].openstatus.dev/?pw=your-secret-password. This method is also useful for authenticating private RSS feeds.

Type: Boolean (add-on feature)

Restricts access to your status page to users with approved email domains. Users receive a magic link via email, which, upon clicking, authenticates them via a session token. This feature is typically available as a paid add-on for specific plans.

IP Restriction (Network Auth)

Type: String (add-on feature)

Restricts access to your status page based on client IPv4 addresses. You provide a comma-separated list of CIDR ranges (e.g., 192.168.1.0/24, 10.0.0.0/8), and only requests from those networks can view the page. Single IPs without a subnet mask are treated as /32.

Visitors from outside the allowed ranges are redirected to a static "Access Restricted" page — there is no login flow since IP-based access cannot be changed by the user.

Configuration:

  • Set access_type to ip-restriction in the dashboard or API.
  • Provide allowed_ip_ranges as a comma-separated list of IPv4 CIDR ranges (we automatically append /32 to single IPs).
  • IPv6 is not supported

Note: This feature is available as a paid add-on for Starter and Pro plans.

Favicon

Type: Image file (.ico, .png, .svg)

Allows you to upload a custom favicon that will appear in browser tabs and bookmarks for your status page. SVG files are sanitized server-side and must be under 100KB.

JSON Feed

Type: Read-only endpoint Format: JSON

Provides a machine-readable JSON representation of your status page data. This feed can be accessed by appending /feed/json to your status page URL.

Example: https://status.openstatus.dev/feed/json

Deprecation Notice:

The following fields are deprecated and will be removed in a future version:

  • monitors (top-level): Use pageComponents instead, which provides a more flexible component-based structure that supports both monitors and external services.
  • maintenances[].monitors: Use maintenances[].pageComponents instead, which references page component IDs rather than monitor IDs.
  • statusReports[].monitors: Use statusReports[].pageComponents instead, which references page component IDs rather than monitor IDs.

These deprecated fields are currently maintained for backward compatibility but may be removed in future versions.

SSH Command

Type: Command-line utility

Allows you to quickly check the current status page status directly from your terminal using an SSH command.

Usage:

ssh [slug]@ssh.openstatus.dev

Example: ssh my-service@ssh.openstatus.dev

Translations (i18n)

Type: Per-page configuration (paid plans only)

Enables multi-language support for your status page. You can set a default locale and optionally enable a locale switcher so visitors can choose their preferred language.

Supported locales: en (English), fr (Français), de (Deutsch)

Configuration:

  • Default Locale — the fallback language for your status page (defaults to en).
  • Locale Switcher — when enabled, visitors see a language dropdown. You select which locales to offer.

Routing: The default locale is omitted from the URL (as-needed prefix). Non-default locales appear in the path (e.g., /fr/events).

See How to translate your status page for setup instructions and contributing new translations.

White Label

Type: Boolean (add-on feature)

Removes the "powered by openstatus.dev" footer from your status page, providing a fully branded experience. This feature is typically available as a paid add-on for Starter and Pro plans and is enabled via your workspace settings, affecting all status pages within that workspace.