Programmatic access to FacioTech service health data. All endpoints return JSON and require no authentication.
https://status.faciotech.com/api
Returns the current overall system status.
{
"status": {
"indicator": "operational",
"description": "All systems operational"
},
"page": {
"name": "FacioTech Status",
"url": "https://status.faciotech.com",
"updated_at": "2026-02-19T17:30:00+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": "up",
"uptime_percent": 100.0,
"response_time_ms": 245,
"check_interval": 60,
"last_check": "2026-02-19T17:30:00"
}
]
}
Returns all incidents (active and recent).
Returns only unresolved (active) incidents.
Returns all scheduled maintenance windows.
Returns only upcoming (not yet started) maintenance.
Returns an SVG badge showing current overall status. Embed in dashboards or READMEs:
<img src="https://status.faciotech.com/api/v2/badge.svg" alt="FacioTech Status" />
| Format | URL | Use Case |
|---|---|---|
| RSS 2.0 | /api/feed.xml | RSS readers |
| Atom | /api/feed.atom | Feed aggregators |
| iCal | /api/calendar.ics | Calendar apps |
| CSV | /api/incidents.csv | Spreadsheets |
Subscribe 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
When a status change occurs, we send a JSON POST to your endpoint:
{
"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 |
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.
API endpoints serve static JSON files and have no rate limits. Files are regenerated every 5 minutes.
All API endpoints include Access-Control-Allow-Origin: * headers, so they can be consumed from any domain via JavaScript.