Authentication
All API requests must be authenticated using a Bearer Token. You can generate your API key in your profile settings (once enabled).
All requests must be sent over HTTPS.
Example Request Header
Authorization: Bearer gls_sk_a1b2c3d4e5f6...
Manage Services
List your services or update their current status.
List All Services
Update a Service's Status
PATCH /api.php/services/{id}
Example Request Body (JSON)
Example Success Response (200 OK)
{
"status": "success",
"data": {
"id": 123,
"status_id": 2
}
}
Manage Incidents
Create new incidents and post updates as you resolve them.
Create a New Incident
Example Request Body (JSON)
{
"title": "Investigating database connection errors",
"status_id": 1,
"message": "We are aware of an issue affecting database connections and are currently investigating.",
"affected_services": [ 123, 124 ]
}
Add an Update to an Incident
POST /api.php/incidents/{id}/updates
Example Request Body (JSON)
{
"status_id": 2,
"message": "The issue has been identified and a fix is being implemented."
}
Manage Maintenance
Schedule planned maintenance events.
Schedule New Maintenance
POST /api.php/maintenance
Example Request Body (JSON)
{
"title": "Database Server Upgrade",
"message": "We will be performing a scheduled upgrade on our main database servers. Brief downtime is expected.",
"start_at": "2025-12-10T22:00:00Z",
"end_at": "2025-12-10T23:00:00Z",
"affected_services": [ 123 ]
}
Helper: Status IDs
Use this endpoint to fetch all available status definitions and their IDs.
Get All Statuses
Example Success Response (200 OK)
{
"status": "success",
"data": {
"service_statuses": [
{ "id": 1, "name": "Operational" },
{ "id": 2, "name": "Degraded Performance" },
{ "id": 3, "name": "Partial Outage" },
{ "id": 4, "name": "Major Outage" }
],
"incident_statuses": [
{ "id": 1, "name": "Investigating" },
{ "id": 2, "name": "Identified" },
{ "id": 3, "name": "Monitoring" },
{ "id": 4, "name": "Resolved" }
]
}
}