Managing Multiple Status Pages

Create separate status pages for different products, audiences, or purposes.

Use Cases

Product Separation

Separate status pages for different products:
  • Main Product Status
  • API Status
  • Mobile App Status
  • Internal Tools Status

Audience Separation

Different pages for different viewers:
  • Public Customer Status (public)
  • Internal Team Status (private)
  • Partner API Status (password-protected)
  • Executive Dashboard (private)

Regional Separation

Status pages by geography:
  • North America Status
  • Europe Status
  • Asia Pacific Status
  • Global Overview

Environment Separation

Different environments:
  • Production Status
  • Staging Status
  • Development Status
  • Testing Status

Creating Multiple Pages

1

Navigate to Status Pages

Go to Status Pages in your dashboard
2

Create New Page

Click Create Status Page for each page you need
3

Configure Separately

Each page has independent:
  • Name and slug
  • Visibility settings
  • Theme customization
  • Display options
  • Custom domain (Team/Stack)
4

Share Monitors

Use the same monitors across multiple pages:
  • One monitor can appear on multiple status pages
  • Different labels on each page
  • Different visibility per page

Example Setup

Scenario: SaaS company with public and internal status pages Public Status Page:
Name: Acme Corp Status
Slug: acme
Visibility: Public
Items:
  - Website (acme.com)
  - API (api.acme.com)
  - Mobile App Backend
  - Payment Processing
Custom Domain: status.acme.com
Internal Status Page:
Name: Acme Internal Systems
Slug: acme-internal
Visibility: Private (password protected)
Items:
  - Database Cluster
  - Cache Servers
  - Background Jobs
  - Admin Dashboard
  - CI/CD Pipeline
Custom Domain: internal-status.acme.com
Benefits:
  • Public page shows customer-facing services only
  • Internal page shows all infrastructure
  • Same monitors, different presentations
  • Independent branding and domains

Deleting a Status Page

Permanently remove a status page from your account.
Irreversible Action: Deleting a status page cannot be undone. All settings, theme, and custom domain configurations will be lost.

Deletion Process

1

Navigate to Status Page

Go to the status page you want to delete
2

Open Settings

Click Settings tab
3

Scroll to Danger Zone

Find the “Delete Status Page” section at the bottom
4

Click Delete

Click the red Delete Status Page button
5

Confirmation Dialog

A confirmation dialog appears:
Are you sure you want to delete "Your Status Page Name"?

This action cannot be undone. The status page and its 
custom domain will be permanently removed.

Type the page name to confirm: ___________

[Cancel] [Delete Status Page]
6

Type Page Name

Enter the exact status page name to confirm
  • Case-sensitive
  • Must match exactly
  • Prevents accidental deletions
7

Confirm Deletion

Click Delete Status Page to permanently remove

What Gets Deleted

Removed:
  • ✅ Status page configuration
  • ✅ Theme settings (colors, logo, fonts)
  • ✅ Display settings
  • ✅ Custom domain association
  • ✅ Monitored items list
  • ✅ Page visibility settings
Preserved:
  • ✅ Your actual monitors (continue running)
  • ✅ Monitor data and history
  • ✅ Alert configurations
  • ✅ Other status pages (if multiple)
Deleting a status page does not delete your monitors. They continue monitoring and alerting as configured.

Status Page URLs

Default URL format:
https://status.watchmantower.com/{your-slug}
With custom domain:
https://status.yourcompany.com

Accessing Your Status Page

  • From Dashboard
  • Direct URL
  • QR Code
External Link Icon:Click the external link icon (↗) next to any status page in your list to open it in a new tab.Location:
  • Status Pages list view
  • Status page header
  • Settings page

Embedding in Your Website

Embed your status page directly in your website using an iframe. Basic embed:
<iframe 
  src="https://status.watchmantower.com/your-slug" 
  width="100%" 
  height="600" 
  frameborder="0"
  title="Service Status">
</iframe>
Responsive embed:
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
  <iframe 
    src="https://status.watchmantower.com/your-slug" 
    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"
    frameborder="0"
    title="Service Status">
  </iframe>
</div>
With custom domain:
<iframe 
  src="https://status.yourcompany.com" 
  width="100%" 
  height="600" 
  frameborder="0">
</iframe>
Embed considerations:
Only public status pages can be embedded in iframes. Private pages will show authentication prompt.
Watchman Tower allows iframe embedding from any domain. No special configuration needed.
Status page height changes based on content. Consider using:
  • Fixed height with scrolling
  • JavaScript to adjust height dynamically
  • Responsive container with aspect ratio
Embedded status page uses your configured theme. Ensure colors work with parent site design.

Pagination & Filtering

Status Page List

Your status pages are displayed in a paginated table. Pagination options:
  • 10 items per page (default)
  • 25 items per page
  • 50 items per page
Navigation:
  • Previous/Next buttons
  • Direct page number input
  • Total count displayed
Sorting:
  • Default: Most recently created first
  • Click column headers to sort (coming soon)

Finding Pages Quickly

No built-in search currently, but you can:

API Access

Access your status page data programmatically via REST API.

API Endpoints

Get status page info:
GET /api/status-page/{slug}
Get monitored items:
GET /api/status-page/{slug}/items
Get incident history:
GET /api/status-page/{slug}/incidents

Authentication

  • Public Pages
  • Private Pages
No authentication required:Public status pages can be accessed without any credentials:
curl https://api.watchmantower.com/public/v1/status-page/your-slug
Returns full status page data in JSON.

Example Response

{
  "name": "Acme Corp Status",
  "slug": "acme",
  "description": "Real-time status for all our services",
  "visibility": "public",
  "custom_domain": "status.acme.com",
  "items": [
    {
      "id": 123,
      "label": "Website",
      "type": "website",
      "status": "operational",
      "uptime": 99.95,
      "response_time": 145,
      "last_check": "2025-11-30T12:34:56Z"
    },
    {
      "id": 124,
      "label": "API",
      "type": "website",
      "status": "degraded",
      "uptime": 98.50,
      "response_time": 523,
      "last_check": "2025-11-30T12:35:12Z"
    }
  ],
  "incidents": [
    {
      "id": 456,
      "title": "API Timeout Issues",
      "status": "resolved",
      "started_at": "2025-11-30T10:30:00Z",
      "resolved_at": "2025-11-30T11:15:00Z",
      "duration_minutes": 45,
      "updates": [
        {
          "timestamp": "2025-11-30T10:30:00Z",
          "message": "Investigating increased response times"
        },
        {
          "timestamp": "2025-11-30T11:15:00Z",
          "message": "Issue resolved, all services operational"
        }
      ]
    }
  ]
}

Use Cases

Custom Dashboards

Build your own status dashboard pulling data from multiple sources

Mobile Apps

Display service status within your mobile application

Slack/Discord Bots

Create bots that post status updates to team channels

Third-Party Integration

Integrate with monitoring tools, ticketing systems, or CRMs

Best Practices

General Guidelines

Good slugs:
  • status
  • api-status
  • services
Avoid:
  • my-company-service-status-page-2024
  • prod-api-monitoring-v2
Short slugs are easier to share and remember.
Labels should be clear to non-technical visitors:Good:
  • Payment Processing
  • User Dashboard
  • Email Delivery
Avoid:
  • prod-stripe-integration
  • fe-dashboard-v2
  • smtp-relay-pool
Guidelines:
  • Critical services: 30s - 1m
  • Standard services: 1m - 5m
  • Stable services: 5m - 10m
Balance freshness with server load.
Pre-launch checklist:
  • Custom domain DNS configured
  • SSL certificate issued
  • Page loads correctly
  • Theme appears properly
  • All items visible
  • Auto-refresh working
  • Tested on mobile
Only share URL after testing.
Meta-monitoring:Create a monitor for your status page itself:
  • Monitor: https://status.yourcompany.com
  • Alert if status page is down
  • Ensure transparency infrastructure is reliable
Consider hosting on different infrastructure than your main services.

Communication Best Practices

Be Proactive

Post incident updates before users report issues

Update Frequently

During incidents, update every 15-30 minutes even if “still investigating”

Use Clear Language

Avoid jargon, write for non-technical audience

Set Expectations

Communicate ETAs and next update times

Write Post-Mortems

After major incidents, explain what happened and prevention steps

Link Prominently

Add status page link to app footer, error pages, and support docs

Troubleshooting

Issue: “Limit reached” error when creating new page.Cause: Plan limits:
  • Free: 1 status page
  • Solo: 2 status pages
  • Team: 5 status pages
  • Stack: Unlimited
Solution: Upgrade plan or delete unused status pages.
Possible causes:
  1. Status page is private (requires auth)
  2. Parent site blocks iframes (CSP policy)
  3. URL is incorrect
  4. HTTPS/HTTP mixed content
Solutions:
  • Use public status page for embedding
  • Check parent site security policies
  • Verify iframe src URL is correct
  • Use HTTPS for both parent and iframe
For private status pages:Ensure password header is correct:
-H "X-Status-Page-Password: your-password"
Password is case-sensitive and must match exactly.
Issue: Status pages share same items unexpectedly.Explanation: This shouldn’t happen - each status page has independent item list.Solutions:
  • Verify you’re viewing different status pages (check URL slug)
  • Clear browser cache
  • Contact support if issue persists

Next Steps