The Status Service API provides public status-page endpoints for subscribers and integrations. Authenticated Status Service customers also get management endpoints for their own status pages. Most endpoints return JSON and use standard HTTP methods; feed endpoints such as /api/v1/rss return RSS XML.
Base URL: https://statuspage.cloudsigma.com/api/v1
Public status-page endpoints do not require authentication. Subscriber actions such as subscribe/unsubscribe use email verification tokens. Management endpoints require an authenticated status-service customer session or API key with appropriate scopes.
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx
X-API-Key: sk_live_xxxxxxxxxxxxxxxx
API-key support is endpoint-specific. Management endpoints currently accept bearer credentials broadly; X-API-Key is accepted where the endpoint uses the shared API-key authentication dependency. Prefer Bearer unless an endpoint explicitly documents X-API-Key support.
Management API examples below require a signed-in customer session or API credentials with the listed scopes.
Interactive API docs, ReDoc, and the OpenAPI JSON are public at /api/docs, /api/redoc, and /api/openapi.json. Sign in as a status-service customer to view the management examples on this human-facing reference page.
Most errors return a JSON object with a detail field. Management scope/RBAC failures may return structured detail with code, message, and scope metadata such as organization_id or domain_id.
| Status | Meaning |
|---|---|
400 | Bad Request — invalid parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — insufficient permissions |
404 | Not Found — resource doesn't exist |
422 | Validation Error — check request body |
500 | Server Error — try again or contact support |
Returns the overall system status with component counts by status category and active incident/maintenance counts. No authentication required.
| Field | Type | Description |
|---|---|---|
status | string | Overall status: operational, degraded_performance, partial_outage, major_outage, under_maintenance |
indicators | object | Count of components per status category |
active_incidents | integer | Number of unresolved incidents |
scheduled_maintenance | integer | Number of active maintenance windows |
last_updated | string | ISO 8601 timestamp |
# Get global status
curl https://statuspage.cloudsigma.com/api/v1/status
import requests response = requests.get( "https://statuspage.cloudsigma.com/api/v1/status" ) data = response.json() print(data["status"]) # "operational"
const response = await fetch( "https://statuspage.cloudsigma.com/api/v1/status" ); const data = await response.json(); console.log(data.status); // "operational"
{
"status": "operational",
"indicators": {
"operational": 18,
"degraded_performance": 0,
"partial_outage": 0,
"major_outage": 0,
"under_maintenance": 0
},
"active_incidents": 0,
"scheduled_maintenance": 1,
"last_updated": "2026-02-28T06:30:00+00:00"
}
Returns all components (cloud locations, services, regions) with their current status. No authentication required.
| Parameter | Type | Description |
|---|---|---|
status_filter | string | Filter by lowercase status values such as operational, degraded_performance, partial_outage, major_outage, or under_maintenance |
page | integer | Page number (default: 1) |
per_page | integer | Results per page (default: 100) |
# List all components
curl https://statuspage.cloudsigma.com/api/v1/components
import requests response = requests.get( "https://statuspage.cloudsigma.com/api/v1/components" ) components = response.json() for c in components: print(f"{c['name']}: {c['status']}")
const response = await fetch( "https://statuspage.cloudsigma.com/api/v1/components" ); const components = await response.json(); components.forEach(c => console.log(`${c.name}: ${c.status}`) );
[
{
"id": "a1b2c3d4-...",
"name": "Zurich (ZRH)",
"code": "zrh",
"status": "operational",
"description": "Zurich, Switzerland",
"position": 1
},
...
]
Returns the global status fields plus components, incidents, and maintenance arrays. No authentication required.
status, indicators, active_incidents, scheduled_maintenance, last_updated, components, incidents, maintenance
curl https://statuspage.cloudsigma.com/api/v1/status/detailed
Returns a paginated object, not a plain array. No authentication required.
Response wrapper fields: items, total, page, per_page, total_pages.
{
"items": [],
"total": 0,
"page": 1,
"per_page": 20,
"total_pages": 0
}Creates an unverified public subscriber. If the request host maps to a status-page domain, organization_id must match that host and component_ids/event_ids must belong to the same host domain.
Subscribers verify by email token before receiving notifications. Token-based verify and unsubscribe routes do not expose sibling-domain selectors.
organization_id | optional on mapped hosts; required for generic API callers |
email | required for email subscriptions |
component_ids / event_ids | must belong to the resolved status-page domain |
curl -X POST https://statuspage.cloudsigma.com/api/v1/subscribe \
-H "Content-Type: application/json" \
-d '{"organization_id":"...","email":"[email protected]"}'Returns RSS 2.0 XML for recent incidents and maintenance. No authentication required. On a mapped status-page host, the feed is scoped to that public domain; generic API callers may pass domain_id.
curl -H "Accept: application/rss+xml" \ https://statuspage.cloudsigma.com/api/v1/rss?domain_id=...