Kendi araçlarınızla bağlayın
WAM, panelin kullandığı aynı REST API'yi sunar. Bugün yedek heartbeat ucu ve GitHub webhook'u canlıdır; kalanlar yol haritasındadır.
- Canlı
REST API
Panelin kullandığı /api/v1 uçları: JSON, Bearer erişim belirteci, RFC 7807 hata gövdeleri ve her yanıtta tutarlı error_code.
- Canlı
Yedek heartbeat
Yedek script'inizin sonunda tek bir istek: başarılı mı, ne kadar sürdü, boyutu ne. Gecikme ve hata uyarıya dönüşür.
- Canlı
GitHub webhook
GitHub App olayları imzalı webhook ile alınır (HMAC, sabit zamanlı doğrulama); deployment ve commit durumu anında güncellenir.
- Yakında
API anahtarları ve OpenAPI
Kapsamlı, iptal edilebilir API anahtarları, hız sınırları ve OpenAPI şeması ile interaktif belgeler.
- Yakında
Giden webhook'lar
Olay açıldı/kapandı, SSL ve domain bitişi için imzalı webhook'lar; Zapier, Make ve n8n ile uyumlu.
- Yakında
Prometheus ve Grafana
Prometheus uyumlu metrik ucu ve hazır Grafana panoları ile kendi gözlem yığınınıza bağlayın.
Kimlik doğrulama akışı
Panelin kullandığı aynı API'ye oturum belirteciyle bağlanırsınız. Erişim belirteci kısa ömürlüdür; süresi dolunca yenileme çerezi yeni belirteç verir.
Bugün API oturum belirteciyle çalışır. Kapsamlı, iptal edilebilir API anahtarları yol haritasındadır. Yedek heartbeat ve webhook uçları kendi belirteçleriyle ayrıca çalışır.
Uç katalogu
Sık kullanılan uçlardan seçmeler. Tümü /api/v1 altındadır; izinler rolünüze göre uygulanır.
Kimlik
- POST
/auth/loginE-posta + şifre → erişim belirteci - POST
/auth/refreshYeni erişim belirteci (rotasyonlu çerez) - GET
/auth/meKullanıcı, organizasyon, rol ve izinler
Website ve domain
- GET
/websitesListe (cursor ile sayfalı) - POST
/websitesWebsite ekle (plan limiti uygulanır) - GET
/websites/{id}/monitoringUptime, yanıt süresi serileri, olaylar - POST
/websites/{id}/checkManuel kontrol (kotalı) - GET
/domainsDomain listesi, bitiş tarihi, registrar
Uyarı ve görev
- GET
/alertsAktif, çözülmüş, tümü - POST
/alerts/{id}/resolveManuel çözüldü işareti - GET
/alerts/rulesEtkin kurallar (varsayılan + organizasyon)
Kod ve yedek
- GET
/repositoriesRepo listesi, son commit - GET
/deploymentsProduction deployment durumu - POST
/backups/targetsYedek hedefi + tek seferlik token - POST
/backups/targets/{id}/rotate-tokenToken'ı yenile
Dış girişler
- POST
/ingest/backupsYedek sonucu bildir (Bearer token) - POST
/webhooks/githubGitHub App olayları (HMAC imzalı)
Genel
- GET
/public/plansSatışa açık planlar ve limitler - GET
/dashboard/summaryKPI'lar ve aksiyon gereken öğeler - GET
/exports/{resource}Filtreli dışa aktarım
Webhook doğrulama
GitHub App olayları imzalı gelir. İmza ham gövde üzerinden sabit zamanlı karşılaştırılır; geçerliyse hemen 202 döner, işleme arka planda yapılır.
Hata sözleşmesi
Tüm hatalar RFC 7807 application/problem+json olarak döner; doğrulama hatalarında alan bazlı errors nesnesi bulunur.
400Doğrulama hatası401Belirteç yok ya da geçersiz403İzin yok ya da plan limiti404Bulunamadı (başka organizasyonun kaydı da 404 döner)409Çakışma (ör. aynı domain zaten kayıtlı)429Hız sınırı ya da kota; Retry-After başlığı
{
"type": "plan-limit",
"title": "Plan limit reached",
"status": 403,
"detail": "Website limit for your plan has been reached.",
"traceId": "00-8f2c…-01"
}Cursor sayfalama
Liste uçları offset yerine opak cursor kullanır: büyük veride de sabit maliyet.
GET /api/v1/websites?limit=50&cursor=eyJ0IjoiMjAyNi0xMC0wNyIsImlkIjoiLi4uIn0
{
"items": [ … ],
"nextCursor": "eyJ0IjoiMjAyNi0xMC0wNiIs…"
}Sınırlar
- Yedek heartbeat: belirteç başına dakikada 60 istek.
- Şimdi tara / manuel kontrol: plan başına günlük kota ve website başına bekleme süresi (429).
- Plan limiti aşımı: 403 ve type: plan-limit.
- Yenileme ucu özel bir başlık ister (CSRF koruması).
Yedek heartbeat örneği
Belirteç yalnızca Authorization başlığında taşınır. WAM yalnızca sonucu alır; yedek dosyasına erişmez.
Belirteci website detay sayfasındaki Backup bölümünden oluşturursunuz.
Yanıtlar
202Kabul edildi, runId döner400Geçersiz gövde401Belirteç eksik ya da geçersiz429Belirteç başına dakikada 60 istek aşıldı
curl -sS -X POST "https://wamdesk.com/api/v1/ingest/backups" \
-H "Authorization: Bearer $WAM_BACKUP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status":"SUCCESS","sizeBytes":123456789,"durationSec":94,"location":"r2://backups/2026-10-07.sql.gz","message":"nightly backup"}'Bir uç eksik mi?
Hangi otomasyona ihtiyacınız olduğunu yazın; yol haritasını buna göre sıralıyoruz.