Status Page Generator
Status Page Generator is a hosted first-party Lyrinox product. It gives each subscribed account a branded public status page, component health checks, webhook intake, and JSON status endpoints that other products can read.
The goal is a short checkout-to-live path: subscribe, create a page, add components, copy the URLs, and publish the page.
What You Get
- Hosted public status pages under
/status/{slug}. - White-label branding with your product or company name.
- Optional custom domain routing such as
status.example.com. - HTTPS component checks with expected response codes.
- Webhook endpoints for product heartbeats and status updates.
- Tokenized JSON read APIs for apps, dashboards, installers, and support tooling.
- Event history for checks, webhooks, and manual status changes.
License Tiers
Starter is $4 per month and includes one hosted status page with up to 10 components.
Operator is $10 per month and includes up to 5 hosted status pages with up to 50 components per page.
Both tiers include white-label branding, custom domain support, HTTPS checks, webhook intake, and read APIs. Operator is the better fit when a team runs separate production, staging, customer portal, API, and infrastructure pages.
Create Your First Page
After checkout, open /status-pages.
1. Select New status page. 2. Enter the public page name. 3. Set the brand name customers should see. 4. Choose a slug such as acme-cloud. 5. Add a custom domain if you already know it. 6. Save the page.
Your hosted page is available immediately at /status/{slug}.
Custom Domains
Use a custom domain when you want customers to see your own brand instead of a marketplace URL.
1. Create a DNS record such as status.example.com. 2. Point it at the Lyrinox Market host configured for your account. 3. Enter status.example.com in the status page settings. 4. Open the hostname in a browser and confirm that it renders your status page.
The route is selected from the HTTP Host header. Keep the custom domain unique to one status page.
Add Components
Components are the services shown on the public page. A component can be one of three types:
- HTTPS check: Lyrinox sends a request to your health URL and compares the response code.
- Webhook heartbeat: your product sends POST requests when it is alive or when status changes.
- Manual status: you update the status from the management screen.
For HTTPS checks, use a stable health endpoint that returns quickly. A common path is /health, /ready, or /status.
Lyrinox runs due HTTPS checks from the marketplace scheduler. Operators can tune the batch size with STATUS_PAGE_CHECK_BATCH_SIZE or disable scheduled checks with STATUS_PAGE_CHECKS_ENABLED=false when running a maintenance window.
Webhook Heartbeats
Each component gets a webhook URL:
POST /api/status-pages/hooks/{webhook_secret}/{component_slug}
Send JSON:
{
"status": "operational",
"message": "Worker heartbeat received",
"response_ms": 42
}
Accepted status values are:
operationaldegradeddownmaintenanceunknown
Heartbeat components are marked degraded or down when the last heartbeat becomes stale.
Read Status From Your Product
Every page has a read API:
GET /api/status-pages/{read_token}
The response includes the page status and public components:
{
"name": "Acme Cloud",
"slug": "acme-cloud",
"status": "operational",
"status_label": "Operational",
"components": [
{
"name": "API",
"slug": "api",
"kind": "https",
"status": "operational"
}
]
}
For one component:
GET /api/status-pages/{read_token}/components/{component_slug}
Use this from installers, client apps, support dashboards, or other services that need to know whether a dependency is healthy before attempting work.
Recommended Setup
For a paid production product, start with these components:
- Public app or dashboard HTTPS check.
- API HTTPS check.
- Billing or checkout dependency manual component.
- Background worker heartbeat.
- Email or notification delivery heartbeat.
This gives customers a useful public page and gives your own product a small dependency-status API it can call before running fragile operations.
Security Notes
Management requires a signed-in Lyrinox account with an active subscription.
Webhook URLs and read APIs use unguessable per-page tokens. Treat them as operational secrets. Rotate the page if a token is exposed.
Do not put private credentials in component URLs, webhook messages, or public status notes.
Troubleshooting
If an HTTPS check shows down, verify the URL returns the configured expected status code from the public internet.
If a heartbeat component becomes stale, verify the product is still sending POST requests to the component webhook URL.
If a custom domain does not load the page, verify DNS, host routing, and the exact hostname saved in the page settings.