Status Reference
status.chainabit.com is the public status surface for the Chainabit API. All endpoints are anonymous, cache-friendly, and return the standard response envelope.
Base URL
https://status.chainabit.com/api/v1Endpoints
| Method | Path | Purpose |
|---|---|---|
GET | /status | Platform summary |
GET | /status/services | Service list |
GET | /status/services/:slug | Service detail |
GET | /status/components | Component list |
GET | /status/incidents | Incident feed |
GET | /status/incidents/:id | Incident detail |
GET | /status/maintenance | Maintenance windows |
GET | /status/snapshots/:date | Historical daily snapshot |
GET | /status/uptime/:window | Uptime rollup |
GET /status
Returns the current platform summary: overall status, service cards, top incidents, and active maintenance.
Response
{
"data": {
"headline": "All systems operational",
"status": "operational",
"indicator": "operational",
"updatedAt": "2026-10-01T09:14:38.372Z",
"lastCheckedAt": "2026-10-01T09:14:38.372Z",
"services": [
{
"slug": "api",
"name": "Chainabit API",
"status": "operational",
"indicator": "operational",
"openIncidents": 0,
"activeMaintenance": false,
"uptime": {
"24h": 99.9,
"7d": 99.9,
"30d": 99.9,
"90d": 99.9,
"1y": 99.9
}
}
],
"incidents": [],
"maintenance": []
}
}status values: operational · degraded_performance · partial_outage · major_outage · maintenance
GET /status/services
Returns the list of public services ordered by sort_order.
Response
{
"data": [
{
"id": "uuid",
"slug": "api",
"name": "Chainabit API",
"description": "Primary API surface for Chainabit platform requests.",
"current_status": "operational",
"indicator": "operational",
"payload": {
"slug": "api",
"status": "operational",
"openIncidents": 0,
"activeMaintenance": false
},
"sort_order": 0,
"is_public": true,
"created_at": "2026-03-25T00:00:00.000Z",
"updated_at": "2026-03-25T00:00:00.000Z"
}
]
}GET /status/services/:slug
Returns a service with its components, open incidents, active maintenance, and uptime windows.
Path parameters
| Parameter | Type | Description |
|---|---|---|
slug | string | Service slug (e.g. api) |
Response
{
"data": {
"service": {
"id": "uuid",
"slug": "api",
"name": "Chainabit API",
"description": "Primary API surface for Chainabit platform requests.",
"current_status": "operational",
"indicator": "operational"
},
"components": [
{
"id": "uuid",
"slug": "api-health",
"name": "API Health Checks",
"current_status": "operational"
}
],
"incidents": [],
"maintenance": [],
"uptime": {
"24h": 100,
"7d": 99.98,
"30d": 99.95,
"90d": 99.9,
"1y": 99.85
}
}
}GET /status/components
Returns all public components. Optionally filter by service.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
serviceSlug | string | No | Filter components to a specific service |
Response
{
"data": [
{
"id": "uuid",
"slug": "api-health",
"name": "API Health Checks",
"current_status": "operational",
"indicator": "operational",
"service_id": "uuid"
}
]
}GET /status/incidents
Returns the public incident feed, newest first.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
offset | number | No | Number of incidents to skip (default: 0) |
limit | number | No | Items per page (default: 20, max: 100) |
Response
{
"data": [
{
"id": "uuid",
"slug": "api-degraded-2026-03-25",
"title": "API degraded performance",
"status": "resolved",
"impact": "minor",
"severity": null,
"description": "Elevated error rates observed.",
"started_at": "2026-03-25T10:00:00.000Z",
"resolved_at": "2026-03-25T11:30:00.000Z",
"updates": []
}
],
"meta": {
"total": 1,
"limit": 20,
"offset": 0
}
}status values: investigating · identified · monitoring · resolved · postmortem_readyimpact values: minor · partial · major
GET /status/incidents/:id
Returns a single incident with its full update timeline.
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Incident UUID |
Response
{
"data": {
"id": "uuid",
"slug": "api-degraded-2026-03-25",
"title": "API degraded performance",
"status": "resolved",
"impact": "minor",
"started_at": "2026-03-25T10:00:00.000Z",
"resolved_at": "2026-03-25T11:30:00.000Z",
"updates": [
{
"id": "uuid",
"status": "investigating",
"message": "We are investigating elevated error rates.",
"author_name": "Chainabit Ops",
"created_at": "2026-03-25T10:05:00.000Z"
},
{
"id": "uuid",
"status": "resolved",
"message": "Issue resolved. Root cause was a misconfigured upstream proxy.",
"author_name": "Chainabit Ops",
"created_at": "2026-03-25T11:30:00.000Z"
}
]
}
}Returns 404 with error.code: "not_found" when the incident does not exist.
GET /status/maintenance
Returns upcoming and active maintenance windows.
Response
{
"data": [
{
"id": "uuid",
"slug": "db-upgrade-2026-03-26",
"title": "Database upgrade",
"status": "scheduled",
"starts_at": "2026-03-26T02:00:00.000Z",
"ends_at": "2026-03-26T04:00:00.000Z",
"service_id": "uuid"
}
]
}status values: scheduled · in_progress · completed · cancelled
GET /status/snapshots/:date
Returns the historical daily snapshot for the given date.
Path parameters
| Parameter | Type | Description |
|---|---|---|
date | string | ISO date in YYYY-MM-DD format |
Example request
curl https://status.chainabit.com/api/v1/status/snapshots/2026-10-01Response
{
"data": {
"snapshotDate": "2026-10-01",
"status": "operational",
"indicator": "operational",
"headline": "All systems operational",
"services": [],
"incidents": [],
"maintenance": []
}
}Returns 404 with error.code: "not_found" when no snapshot exists for the requested date.
GET /status/uptime/:window
Returns the uptime rollup for a given time window.
Path parameters
| Parameter | Type | Description |
|---|---|---|
window | string | One of: 24h · 7d · 30d · 90d · 1y |
Example request
curl https://status.chainabit.com/api/v1/status/uptime/30dResponse
{
"data": {
"window": "30d",
"scopeType": "platform",
"scopeKey": "global",
"uptimePercent": 99.95,
"downtimeMinutes": 21.6,
"incidentCount": 2,
"computedAt": "2026-10-01T00:00:00.000Z",
"dailyHistory": [
{
"date": "2026-10-01",
"uptimePercent": 99.95
}
]
}
}Cache headers
Every response includes:
| Header | Value |
|---|---|
Cache-Control | public, max-age=30, stale-while-revalidate=300 |
ETag | SHA-1 of the serialized payload |
Last-Modified | Projection timestamp |
Use conditional requests (If-None-Match, If-Modified-Since) to avoid transferring unchanged payloads.
Client guidance
- Use
/statusfor the landing page hero. - Use
/status/services/:slugfor per-service drilldown pages. - Use
/status/snapshots/:datefor date-based history and SEO. - Use
/status/uptime/:windowfor compact percentage widgets. - Prefer
stale-while-revalidateor cache-aware polling — avoid request bursts.