Status API
Drive your status page from monitoring tools: update service status, open incidents, post updates, schedule maintenance and read the public summary over the REST API.
The Status API lets you drive your status page from monitoring tools or scripts: change a service's status, open an incident, post updates, schedule maintenance, or read the public summary. This article summarizes the endpoints. For full schemas, use your workspace's API reference at /api/v1/docs.
Note: Quackback doesn't check your services itself. Status changes come from your team in the admin or from this API, so connect your monitoring tool here to automate them. The Status module must be on (in Admin > Settings > General). See Set up a status page.
Status endpoints use the Feedback access level on API keys (read:feedback to read, write:feedback to write), plus the matching status page permission of the key's creator.
Services (components)
A service is one row on your status page, such as "API" or "Dashboard". /api/v1/status/services is the main path. /api/v1/status/components is an identical older alias.
Method | Path | Permission |
|---|---|---|
|
| Any valid API key |
|
| Manage the status page |
|
| Any valid API key |
|
| Manage the status page |
PATCH accepts name, description, groupId, showUptime, segmentIds and status, in any combination. A body with only status is the simplest hook for a monitoring tool:
curl -X PATCH https://feedback.example.com/api/v1/status/services/status_component_01h4... \
-H "Authorization: Bearer qb_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "status": "degraded_performance" }'Service statuses: operational, degraded_performance, partial_outage, major_outage, under_maintenance.
Incidents and maintenance
Method | Path | Permission |
|---|---|---|
|
| Any valid API key |
|
| Publish to the status page |
|
| Any valid API key |
|
| Publish to the status page |
Create an incident:
curl -X POST https://feedback.example.com/api/v1/status/incidents \
-H "Authorization: Bearer qb_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"kind": "incident",
"title": "Elevated API error rates",
"status": "investigating",
"affectedComponents": [{ "componentId": "status_component_01h4...", "componentStatus": "partial_outage" }],
"body": "We are investigating elevated error rates on the API."
}'Field | Values |
|---|---|
|
|
| Incidents: |
|
|
| A list of |
| The first update's text (required) |
For maintenance, set scheduledStartAt and scheduledEndAt, and autoStart and autoComplete to run the window unattended.
Post an update with status, body and optional skipRestore. A final update (resolved or completed) sets the affected services back to operational unless skipRestore is true.
Public summary
curl https://feedback.example.com/api/v1/status/summary \
-H "Authorization: Bearer qb_your_api_key"Returns the same snapshot the public status page shows: the overall status, each visible service, and active incidents.
{
"data": {
"status": "operational",
"components": [
{ "id": "status_component_01h4...", "name": "API", "description": null, "status": "operational", "showUptime": true }
],
"activeIncidents": []
}
}Related articles
Was this helpful?
Your feedback shapes what we write next.
