API'ye Başlangıç

UptimeWarden Public API v1 için başlangıç, token oluşturma, base URL, kimlik doğrulama header'ı, yanıt zarfı, hata kodları ve zaman sınırlı veri penceresi.

Bu sayfa, UptimeWarden ile entegrasyon yazan her geliştiricinin başlangıç noktasıdır. Sonunda elinizde çalışan bir API token'ı olacak, kimlik doğrulamayı bileceksiniz ve her v1 endpoint'inin kullandığı yanıt ve hata şekillerini tanıyacaksınız.

Zaten kod yazıyor musunuz? Beş dakikalık curl turu için API Hızlı Başlangıç sayfasına geçin veya tüm liste için API Endpoint'leri sayfasını açın.

Public API ne sunuyor?

Public API /api/v1/ altında çalışır ve şunları kapsar: monitor yönetimi (dashboard'daki her ayarla oluşturma, okuma, güncelleme ve silme), bir monitor'un gösterdiği referans listeleri (eskalasyon politikaları, webhook'lar, bölgeler), olay (incident) takibi, SSL inceleme, güvenlik analizi ve AI Sağlık Tahminleri. Monitor'lar ve referanslar publicId (bir ULID) ile anılır; monitor endpoint'leri dahili sayısal kimlik almaz ve döndürmez. Kanonik şema /api/docs/v1-openapi.json adresinde (OpenAPI 3.0) yayınlanır ve /api/docs altında interaktif Swagger UI olarak sunulur.

YetenekEndpoint ailesi
Monitor CRUD + sonuç + istatistik/api/v1/monitors/*
Olay okuma / güncelleme / yorum/api/v1/incidents/*
SSL durumu (genel + monitor başına)/api/v1/ssl/*
Güvenlik analizi (önbellek + anlık)/api/v1/security/*
AI Sağlık Tahminleri/api/v1/health/*

Adım 1. Token oluşturun

  1. Dashboard'a giriş yapın.
  2. API Portal → API Tokens sekmesini açın.
  3. Create API Token'a tıklayın, bir isim verin, bir izin grubu seçin ve token'ı kopyalayın. Token yalnızca bir kez gösterilir.

Token'lar uptw_ ön ekiyle başlar; böylece secret'i sızdırmadan loglarda fark edebilirsiniz. Tüm izin kataloğu ve rotasyon prosedürleri için API Token'ları sayfasına bakın.

export API_TOKEN=uptw_xxxxxxxxxxxxxxxxxxxxxxxx

Adım 2. İlk çağrınızı yapın

Her isteğin Authorization: Bearer <token> header'ına ihtiyacı vardır. Base URL: https://app.uptimewarden.online.

curl -sS "https://app.uptimewarden.online/api/v1/monitors?limit=1" \
  -H "Authorization: Bearer $API_TOKEN"

Başarılı bir liste yanıtı şu zarfa sarılır:

{
  "success": true,
  "data": [ /* monitor dizisi */ ],
  "pagination": {
    "page": 1,
    "limit": 1,
    "total": 42,
    "totalPages": 42,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}

Tekil kaynak çağrıları { success, data } döner. POST/PATCH/DELETE çağrıları genelde message alanı da ekler.

Hız limiti ve kotalar

Hız limitleri token başına, dakika başına uygulanır; sınır endpoint'e göre değişir:

Endpoint ailesiSınır
GET /api/v1/monitors, GET /api/v1/monitors/:id/results, GET /api/v1/monitors/:id/stats, GET /api/v1/incidents120 istek/dk
POST /api/v1/monitors, DELETE /api/v1/monitors/:id, PATCH /api/v1/incidents/:id, POST /api/v1/incidents/:id/comments, GET /api/v1/ssl/*60 istek/dk
GET /api/v1/security/monitors/:id/analysis30 istek/dk
POST /api/v1/security/monitors/:id/analyze, POST /api/v1/security/analyze10 istek/dk
GET /api/v1/health/monitors/:id/predictions60 istek/dk

Her yanıt, kendi kendinizi throttle edebilmeniz için standart header'ları içerir:

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117
X-RateLimit-Reset: 2026-04-27T10:31:00.000Z

Sınırı aştığınızda 429 Too Many Requests ve retryAfter (saniye) alırsınız. Her abonelik planına ayrı bir aylık API çağrı sınırı uygulanır, aşıldığında MONTHLY_API_LIMIT_EXCEEDED döner.

Yanıt zarfı

Her v1 endpoint'i ya:

{ "success": true, "data": ... }

ya da:

{
  "success": false,
  "error": {
    "code": "TIME_RANGE_EXCEEDED",
    "message": "Time range exceeds maximum allowed",
    "details": ["Requested: 10 days", "Maximum allowed: 7 days"]
  }
}

details opsiyonel açıklayıcı string dizisidir. Kimlik doğrulama hataları (401/403) daha sade { error, message } zarfını dönebilir; istemciler HTTP durum kodunu kanonik kabul etmelidir.

Hata kodları

HTTPerror.codeNe zaman olur
400VALIDATION_ERRORZorunlu body alanı eksik veya tip hatalı.
400INVALID_URLURL parametresi geçerli URI değil.
401-Authorization header'ı eksik/hatalı veya token geçersiz/süresi dolmuş.
403-Token gerekli izne sahip değil.
403TIME_RANGE_EXCEEDEDToken tier'ının izin verdiğinden eski veri istendi (sonuçlar için 7 gün, olaylar için 30 gün).
403MONITOR_LIMIT_REACHEDPOST /monitors'da abonelik monitor sınırı doldu.
404NOT_FOUNDKaynak yok veya bu token'a görünmez.
429-Dakikalık hız limiti aşıldı. retryAfter alanına bakın.
429MONTHLY_API_LIMIT_EXCEEDEDPlanın aylık API çağrı kotası tükendi.
500INTERNAL_ERRORSunucu tarafı arıza.

Geçmiş veri penceresi

API token'ları, sızan bir token'ın yıllarca veri çıkarmaması için bilinçli olarak dar pencerelere kapsamlandırılmıştır:

  • monitors:results:read, en fazla 7 gün kontrol sonucu.
  • incidents:read, en fazla 30 gün olay geçmişi.

Her iki sınır da her istekte uygulanır, istemci tarafı sayfalama ile aşılamaz. Daha geniş pencere için dashboard'u kullanın.

Sürüm politikası

v1 stabildir. Kıran değişiklikler v2 olarak gelir; eklemeli değişiklikler (yeni opsiyonel alan, yeni endpoint) sürüm artışı olmadan v1'e iner. /api/docs/v1-openapi.json adresindeki OpenAPI dokümanı kaynak kabul edilir; bu doküman sitesi ondan türetilir.

Sonraki adımlar