---
category: Reference
title: Page Components Reference
description: Complete specification for openstatus page components on status pages.
---
Page components are the individual elements displayed on your status page that show the operational status of your services. They provide a flexible way to organise and present both monitored services and static content on your status page.
**Key features:**
- Support for both monitor-linked and static components.
- Organise components into logical groups.
- Custom ordering and arrangement.
- Individual status tracking with incidents, reports, and maintenances.
- Granular control over what appears on your status page.
## Component types
Page components come in two distinct types, each serving different purposes on your status page.
### Monitor components
**Type:** `monitor`
Monitor components are linked to an active monitor in your workspace. They automatically inherit the monitor's status and display real-time health information.
**Characteristics:**
- Display live monitor status (up, degraded, down).
- Show active incidents from the linked monitor.
- Include historical uptime data.
- Reflect the monitor's current operational state.
- Automatically update when the monitor changes.
**Use cases:**
- Displaying API endpoint health.
- Showing website availability.
- Tracking critical service dependencies.
- Monitoring infrastructure components.
#### Configuring monitor components
When you create a monitor component, you link it to an existing monitor in your workspace. This connection provides several benefits:
**Automatic incident tracking:**
When your monitor detects a failure (connection timeout, HTTP error, assertion failure), an incident is automatically created and displayed on the status page. The component will show an **error** status until the monitor recovers.
**Real-time status updates:**
The component reflects the current operational state of your monitor. If the monitor is actively checking and healthy, your visitors see a **success** status. If checks fail, they immediately see the issue.
**Historical data visualization:**
Monitor components display historical uptime data through status trackers. Depending on your [tracker configuration](/docs/guides/how-to-configure-status-page#1-components-configuration), you can show:
- **Absolute bar with duration card**: Shows the time spent in each status (success, error, degraded, maintenance).
- **Absolute bar with request card**: Shows the number of successful vs. failed requests.
- **Manual bar**: Shows only the most significant status of each day.
**Uptime calculations:**
Monitor components calculate uptime percentages based on:
- Duration of successful vs. failed checks (for duration-based tracking).
- Number of successful vs. failed requests (for request-based tracking).
- Includes incidents and status reports in the calculation.
**Monitor selection:**
When adding a monitor component, the dashboard shows you available monitors with indicators for:
- **Public/Private status**: Whether the monitor is already public.
- **Active status**: Only active monitors can be linked.
- **Already linked**: Monitors already used on this status page are unavailable.
**Status hierarchy:**
1. **Error** — active incidents from the linked monitor, or a status report with a `major_outage` [impact](/docs/reference/status-report#component-impacts).
2. **Degraded** — unresolved status reports affecting this component.
3. **Info** — ongoing scheduled maintenance.
4. **Success** — healthy and operational.
**What affects monitor components:**
- Automatic incidents (from monitor failures).
- Manual status reports.
- Scheduled maintenances.
### Static components
**Type:** `static`
Static components are independent elements not linked to any monitor. They allow you to display services or systems that you manually manage through status reports and maintenance windows only.
**Characteristics:**
- No automatic status updates.
- Status controlled exclusively by manual status reports and scheduled maintenances.
- Useful for third-party services or manual tracking.
- Do not display incidents (no automatic incident creation).
- Provide flexibility for non-monitored services.
**Use cases:**
- Third-party service dependencies (e.g., payment providers like Stripe, email services like SendGrid).
- Manual status tracking for systems without monitors.
- Services monitored through external tools.
- Components that only need maintenance window communication.
- Legacy systems without API endpoints to monitor.
#### Managing static components
Static components give you full manual control over what your visitors see:
**Status reports:**
Create status reports to indicate issues or degraded performance for static components. For example:
- "Stripe payment processing experiencing delays" (degraded performance impact).
- "Email delivery service partially unavailable" (partial outage impact).
Once you resolve the issue and mark the status report as resolved, the component returns to a success status.
**Maintenance windows:**
Schedule maintenance windows to inform visitors about planned downtime:
- "Scheduled database backup - Sunday 2:00 AM - 4:00 AM" (info status).
- "Third-party CDN maintenance window" (info status).
During the maintenance window, the component shows an info status. After the window ends, it returns to its previous status.
**No automatic monitoring:**
Static components do not perform any health checks or generate incidents. You are responsible for:
- Monitoring the service through other means.
- Creating status reports when issues occur.
- Updating reports when issues are resolved.
- Communicating maintenance windows in advance.
**Status hierarchy:**
1. **Error** — a status report with a `major_outage` [impact](/docs/reference/status-report#component-impacts).
2. **Degraded** — other unresolved status reports affecting this component.
3. **Info** — ongoing scheduled maintenance.
4. **Success** — no active reports or maintenances.
**What affects static components:**
- Manual status reports.
- Scheduled maintenances.
- Automatic incidents are **not** supported.
## Component groups
Component groups allow you to organize related page components into logical sections on your status page. Groups improve readability and help visitors understand your service architecture.
**Benefits:**
- Visual organization of related services.
- Collapsible sections for better page structure.
- Independent ordering within groups.
- Clear service categorization.
**Examples of grouping strategies:**
| Group name | Components |
|------------|------------|
| **API Services** | Authentication API, Data API, WebSocket API |
| **Infrastructure** | Database, Cache, Message Queue |
| **External Dependencies** | Payment Provider, Email Service, CDN |
| **Regional Services** | US Region, EU Region, APAC Region |
**Group configuration:**
- **Name** — the group heading displayed on your status page.
- **Default open** — whether the group renders expanded on first load. Defaults to collapsed.
- **Components** — the page components contained within this group, ordered independently.
A group has no order field of its own. Its position among other groups and ungrouped components is derived from the lowest display order of the components inside it.
## Events and status
Page components can be affected by up to three types of events that influence their displayed status. The type of component determines which events apply:
| Event type | Monitor components | Static components |
|------------|-------------------|-------------------|
| **Incidents** | Automatic | Not supported |
| **Status reports** | Manual | Manual |
| **Maintenances** | Manual | Manual |
### Incidents
**Applies to:** monitor components only.
Incidents are automatically generated when a monitor detects a failure. They represent unplanned outages or degraded performance discovered through active monitoring.
**How incidents are created:**
- Monitor check fails (connection timeout, HTTP error, DNS failure).
- Monitor assertion fails (wrong status code, unexpected response body).
- Monitor reaches degraded threshold (response time too slow).
**Status impact:** components with active incidents show an **error** status. This takes the highest priority in the status hierarchy.
**Resolution:** incidents are automatically resolved when the monitor recovers and checks succeed again.
### Status reports
**Applies to:** both monitor and static components.
Status reports are manually created updates about component health or issues. They provide a way to communicate problems that may not trigger automatic monitoring or to manually report issues with static components.
**Status impact:** each report update can set a per-component [impact level](/docs/reference/status-report#component-impacts) (`degraded_performance`, `partial_outage`, `major_outage`). A component with an active `major_outage` impact shows an **error** status; the other non-operational impacts show **degraded**. Reports without impact levels show a **degraded** status while unresolved.
**Use cases for monitor components:**
- Reporting known issues that don't cause complete outages.
- Communicating performance degradation not captured by monitoring.
- Providing context for intermittent issues.
**Use cases for static components:**
- Reporting third-party service issues (e.g., "Stripe processing delays").
- Communicating external service degradation.
- Announcing partial outages of non-monitored systems.
**Attaching to components:** when creating a status report, you can select which components are affected. Multiple components can be attached to a single report.
### Maintenances
**Applies to:** both monitor and static components.
Maintenances are scheduled maintenance windows that you create in advance. They inform visitors about planned downtime or service interruptions for both monitored and static components.
**Status impact:** components with ongoing maintenances show an **info** status (unless overridden by incidents or reports).
**Use cases for monitor components:**
- Scheduled system upgrades that will cause downtime.
- Infrastructure changes that affect monitored services.
- Planned deployments requiring service restarts.
**Use cases for static components:**
- Third-party maintenance windows (e.g., "Payment provider scheduled maintenance").
- External service upgrade notifications.
- Planned downtime for non-monitored dependencies.
**Scheduling:** maintenances have a defined start and end time. The info status automatically appears during the window and disappears when the maintenance ends.
**Attaching to components:** when creating a maintenance, you select which components will be affected. This lets you communicate maintenance impact across multiple services.
## Managing components
### Adding components
You can add components to your status page in two ways:
1. **Individual components:** Add a single component outside of any group.
2. **Components within groups:** Add a component directly into a new or existing group.
When adding a monitor component, you can only select from monitors that:
- Are currently active.
- Have not been deleted.
- Are not already linked to another component on this status page.
### Reordering components
Components and groups can be reordered using drag-and-drop functionality in the dashboard. The order determines how they appear on your status page from top to bottom.
**Ordering tips:**
- Place your most critical services at the top.
- Group related services together.
- Consider visitor priorities when ordering.
### Editing components
You can modify the following properties of existing components:
- Component name and description.
- Group assignment (move between groups or make ungrouped).
- Display order.
**Note:** you cannot change a component's type (monitor to static or vice versa) after creation. To change types, delete the component and create a new one.
### Deleting components
When you delete a component, any associations with status reports and maintenances are automatically removed. The linked monitor (if applicable) is not deleted and remains available in your workspace.
**Warning:** deletion is permanent and cannot be undone. Ensure you want to remove the component before confirming deletion.
## Deprecation notice
The legacy monitor-only system for status pages is deprecated in favour of the more flexible page component system.
**Deprecated approach:**
- Status pages directly referenced monitors.
- No support for static content.
- Limited organisational flexibility.
**Current approach (page components):**
- Status pages contain page components.
- Components can be monitors or static content.
- Full support for grouping and custom ordering.
- Better separation between monitoring and status page presentation.
### API compatibility
**v1 API (backward compatibility):** the v1 API continues to display `monitorIds` and `monitors` fields in status page responses to avoid breaking changes for existing integrations. However, these fields now only include page components that are explicitly of type `monitor`. Static components are not included in these legacy fields.
**Future API versions:** newer API versions will primarily use the `pageComponents` structure. The legacy `monitors` and `monitorIds` fields will be removed in future API versions. We recommend migrating your integrations to use `pageComponents` for full feature support.
## Related resources
- **[Status page reference](/docs/reference/status-page)** — complete status page configuration reference.
- **[Status report reference](/docs/reference/status-report)** — details on creating and managing status reports.
- **[Create a status page](/docs/tutorial/create-your-first-status-page)** — step-by-step tutorial on creating a status page.
- **[HTTP monitor reference](/docs/reference/http-monitor)** — technical specification for HTTP monitors that can be linked to components.