Skip to content

Status API — Genel Uç Noktalar

Aşağıdaki tüm uç noktalar geneldir ve herhangi bir kimlik doğrulama gerektirmez. İstemci tarafı önbelleğe alma için yanıtlar Cache-Control ve ETag başlıklarını içerir.

Temel URL: /api/v1/status


Önbelleğe Alma

Tüm genel uç noktalar şunu döndürür:

Cache-Control: public, max-age=<STATUS_PUBLIC_CACHE_SECONDS>, stale-while-revalidate=300
ETag: "<payload-hash>"
Last-Modified: <timestamp>

Değişmemiş verilerde 304 Not Modified almak için ETag değeriyle If-None-Match kullanın.


Uç Noktalar

GET /status

Tüm hizmetler, açık olaylar ve aktif bakım dahil olmak üzere tam platform özetini döndürür.

İstek

Authorization: Yok

Parametre yok.

Yanıt

json
{
  "data": {
    "headline": "All Systems Operational",
    "status": "operational",
    "indicator": "operational",
    "updatedAt": "2026-03-31T12:00:00.000Z",
    "lastCheckedAt": "2026-03-31T11:59:45.000Z",
    "services": [
      {
        "slug": "api-gateway",
        "name": "API Gateway",
        "status": "operational",
        "indicator": "operational",
        "openIncidents": 0,
        "activeMaintenance": false,
        "uptime": { "24h": 100, "7d": 99.95, "30d": 99.9, "90d": 99.85, "1y": 99.8 }
      }
    ],
    "incidents": [],
    "maintenance": []
  }
}

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status

GET /status/services

Tüm genel hizmetleri sort_order'a göre sıralanmış olarak döndürür.

İstek

Authorization: Yok

Parametre yok.

Yanıt

json
{
  "data": [
    {
      "id": "uuid",
      "slug": "api-gateway",
      "name": "API Gateway",
      "description": "Core REST API",
      "current_status": "operational",
      "indicator": "operational",
      "sort_order": 1,
      "is_public": true,
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-03-31T12:00:00.000Z"
    }
  ]
}

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status/services

GET /status/services/:slug

Bileşenleri, son olayları, bakım pencereleri ve çalışma süresi özetleri ile birlikte tek bir hizmeti döndürür.

İstek

Authorization: Yok

Yol Parametreleri:

ParametreTürAçıklama
slugstringHizmet slug'ı — bir Hizmetleri Listele yanıtının data[].slug'ından

Yanıt

json
{
  "data": {
    "service": { "id": "uuid", "slug": "api-gateway", "name": "API Gateway", "..." },
    "components": [ { "id": "uuid", "slug": "api-gateway-auth", "name": "Authentication", "..." } ],
    "incidents": [],
    "maintenance": [],
    "uptime": { "24h": 100, "7d": 99.95, "30d": 99.9, "90d": 99.85, "1y": 99.8 }
  }
}

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status/services/$SERVICE_SLUG

GET /status/components

Tüm genel bileşenleri döndürür. İsteğe bağlı olarak hizmete göre filtreleyin.

İstek

Authorization: Yok

Sorgu Parametreleri:

ParametreTürAçıklama
serviceSlugstringBileşenleri hizmet slug'ına göre filtreleyin

Yanıt

json
{
  "data": [
    {
      "id": "uuid",
      "service_id": "uuid",
      "slug": "api-gateway-auth",
      "name": "Authentication",
      "current_status": "operational",
      "indicator": "operational",
      "sort_order": 1,
      "is_public": true
    }
  ]
}

Kod Örneği

bash
curl "https://api.chainabit.com/api/v1/status/components?serviceSlug=api-gateway"

GET /status/incidents

Yayınlanan olayları, en yenisi ilk sırada olacak şekilde döndürür.

İstek

Authorization: Yok

Parametre yok.

Yanıt

json
{
  "data": [
    {
      "id": "uuid",
      "slug": "elevated-error-rates-2026-03-31",
      "title": "Elevated error rates on API Gateway",
      "status": "resolved",
      "impact": "partial",
      "severity": "partial",
      "description": "We observed elevated 5xx rates...",
      "published": true,
      "started_at": "2026-03-31T09:00:00.000Z",
      "resolved_at": "2026-03-31T10:30:00.000Z",
      "created_at": "2026-03-31T09:02:00.000Z",
      "updated_at": "2026-03-31T10:30:00.000Z"
    }
  ]
}

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status/incidents

GET /status/incidents/:id

UUID'ye göre tek bir olayı döndürür.

İstek

Authorization: Yok

Yol Parametreleri:

ParametreTürAçıklama
iduuidOlay UUID'si — bir Olayları Listele yanıtının data[].id'sinden

Yanıt

Tek olay nesnesi (yukarıdaki liste öğesi ile aynı şekil).

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status/incidents/$INCIDENT_ID

GET /status/maintenance

Yayınlanan bakım pencerelerini, en yenisi ilk sırada olacak şekilde döndürür.

İstek

Authorization: Yok

Parametre yok.

Yanıt

json
{
  "data": [
    {
      "id": "uuid",
      "slug": "database-migration-2026-04-01",
      "title": "Database schema migration",
      "status": "scheduled",
      "starts_at": "2026-04-01T02:00:00.000Z",
      "ends_at": "2026-04-01T04:00:00.000Z",
      "published": true
    }
  ]
}

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status/maintenance

GET /status/snapshots/:date

Belirli bir tarih için günlük durum anlık görüntüsünü döndürür.

İstek

Authorization: Yok

Yol Parametreleri:

ParametreTürAçıklama
dateYYYY-MM-DDAnlık görüntü tarihi

Yanıt

json
{
  "data": {
    "snapshotDate": "2026-03-30",
    "status": "operational",
    "indicator": "operational",
    "headline": "All Systems Operational",
    "services": [ { "..." } ],
    "incidents": [],
    "maintenance": []
  }
}

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status/snapshots/2026-03-30

GET /status/uptime/:window

Belirtilen zaman penceresi için platform çapında çalışma süresi özetini döndürür.

İstek

Authorization: Yok

Yol Parametreleri:

Parametreİzin Verilen Değerler
window24h | 7d | 30d | 90d | 1y

Yanıt

json
{
  "data": {
    "window": "30d",
    "scopeType": "platform",
    "scopeKey": "global",
    "uptimePercent": 99.91,
    "downtimeMinutes": 39,
    "incidentCount": 2,
    "computedAt": "2026-03-31T12:00:00.000Z"
  }
}

Kod Örneği

bash
curl https://api.chainabit.com/api/v1/status/uptime/30d

Built with purpose.