Programmatic access to Faciotech service health data. The status JSON and feeds require no authentication. Feed formats are listed below.
https://status.faciotech.com/api
Returns the current overall system status.
{
"status": {
"indicator": "none",
"description": "All systems operational"
},
"page": {
"name": "FacioTech Servers",
"url": "https://status.faciotech.com",
"updated_at": "2026-10-22T23:30:03+00:00"
}
}
Returns overall status, all components, active incidents, and scheduled maintenance in a single request.
Returns all monitored components with current status, uptime, and group info.
{
"components": [
{
"name": "Client Portal (WHMCS)",
"group": "Platform Services",
"status": "operational",
"uptime_percent": 99.49,
"response_time_ms": 4535,
"check_interval": 60,
"last_check": "2026-10-22 23:28:08"
}
]
}
Component example excerpt from the 2026-10-22 response. last_check is passed through unchanged as YYYY-MM-DD HH:mm:ss; the exporter does not specify its timezone. Do not infer UTC from this field. page.updated_at includes an explicit UTC offset.
Returns all incidents (active and recent).
Returns only unresolved (active) incidents.
Returns all scheduled maintenance windows.
Returns only upcoming (not yet started) maintenance.
| Format | URL | Use Case |
|---|---|---|
| RSS 2.0 | https://faciotech.com/modules/addons/faciotech_monitor/feed.php/faciotech-servers?format=rss | RSS readers |
| Atom | https://faciotech.com/modules/addons/faciotech_monitor/feed.php/faciotech-servers?format=atom | Feed aggregators |
| iCal | https://faciotech.com/modules/addons/faciotech_monitor/calendar.php/faciotech-servers | Calendar apps |
| CSV | https://faciotech.com/modules/addons/faciotech_monitor/feed.php/faciotech-servers?format=csv | Spreadsheets |
Scroll the table sideways to see every column.
These copies are snapshots from the last site deployment. They do not update every five minutes. Use the module feed links above for current data.
/api/feed.xml — Deploy-time snapshot/api/feed.atom — Deploy-time snapshot/api/calendar.ics — Deploy-time snapshot/api/incidents.csv — Deploy-time snapshotSubscribe a webhook URL to receive real-time POST notifications when service status changes.
Use the subscribe form on the status page, or POST directly:
Content-Type: application/x-www-form-urlencoded type=webhook&url=https://your-server.com/webhook
Illustrative webhook payload (not a captured live response):
{
"event": "incident.created",
"timestamp": "2026-02-19T17:30:00+00:00",
"page": {
"name": "Faciotech Status",
"url": "https://status.faciotech.com"
},
"incident": {
"name": "LiteSpeed Web Server Degraded",
"status": "investigating",
"impact": "minor",
"component": "LiteSpeed Web Server",
"started_at": "2026-02-19T17:25:00+00:00",
"resolved_at": null,
"updates": [
{
"status": "investigating",
"body": "We are investigating reports of slow response times.",
"created_at": "2026-02-19T17:30:00+00:00"
}
]
}
}
| Event | Description |
|---|---|
incident.created | New incident detected or created |
incident.updated | Incident status or impact changed |
incident.resolved | Incident marked as resolved |
maintenance.scheduled | New maintenance window announced |
maintenance.started | Maintenance window has begun |
maintenance.completed | Maintenance finished |
component.status_change | A component's status changed |
Scroll the table sideways to see every column.
Each webhook request includes an X-Status-Signature header containing an HMAC-SHA256 signature of the request body, signed with the subscriber's secret (if provided during registration). Verify this to ensure authenticity.
signature = HMAC-SHA256(webhook_secret, request_body) expected = request.headers["X-Status-Signature"]
Failed deliveries (non-2xx response or timeout >10s) are retried up to 3 times with exponential backoff: 1 minute, 5 minutes, 30 minutes.
The JSON endpoints listed above are regenerated every 5 minutes and pushed to the status site. Responses may be cached for 300 seconds. Before the first successful push, an endpoint can return its deploy-time fallback. If pushes stop, the last pushed data remains; check page.updated_at for freshness. Availability is subject to hosting quotas. Module feeds are generated on request; legacy deploy-time files are not live.
The status JSON endpoints include Access-Control-Allow-Origin: * headers, so they can be consumed from any domain via JavaScript.