REST API
API token ile kimlik doğrulayın; monitörleri, olayları ve durum sayfalarını HTTP üzerinden yönetin.
Paneldeki her şey /api/v1 altındaki JSON REST API ile de kullanılabilir. Her uç noktanın doğruluk kaynağı OpenAPI tanımıdır.
Kimlik doğrulama
API token’ları Takım ve İşletme planlarında vardır. Bir yönetici ya da sahip Ayarlar → API token’ları altından bir token oluşturur: bir ad, bir kapsam ve isterseniz bir son kullanma tarihi. Token — hmd_ ile başlar — yalnızca bir kez, oluşturulduktan hemen sonra gösterilir; Heimdall yalnızca özetini saklar, bu yüzden o anda gizli bilgi kasanıza kaydedin. Her istekte gönderin:
curl -s https://heimdall.warewave.tech/api/v1/monitors \
-H "Authorization: Bearer $HEIMDALL_API_TOKEN"| Kapsam | Token ne yapabilir |
|---|---|
read | Bir izleyicinin gördüğü her şey: monitörler, sonuçlar, olaylar, durum sayfaları, nöbet, mesajlar |
write | Ek olarak bir üyenin yapabildikleri: monitör oluşturma ve değiştirme, olayı erteleme ve çözme, durum sayfası güncellemesi ve bakım duyurusu yayınlama |
- Bir token tek bir organizasyona aittir. Başka bir organizasyon için orada token oluşturun.
- Token’lar, kapsamı ne olursa olsun profillere, kullanıcılara, API token’larına, faturalandırmaya ve organizasyon ayarlarına erişemez.
401, kodinvalid_token: token bilinmiyor, iptal edilmiş ya da süresi dolmuş.402, kodplan_limit: organizasyonun planı artık API’yi içermiyor. Token’lar saklanır ve plan yükseltildiğinde yeniden çalışır.403, kodforbidden: token’ın kapsamı isteğe izin vermiyor; örneğinreadtoken’ıylaPOST.429: bu token’la çok fazla istek;Retry-Afterkaç saniye beklemeniz gerektiğini söyler.- Token’ı Ayarlar → API token’ları altından iptal edin; hemen çalışmaz olur.
Sık kullanılan uç noktalar
| Metot | Yol | Amaç |
|---|---|---|
| GET | /api/v1/monitors | Monitörleri listele |
| POST | /api/v1/monitors | Monitör oluştur |
| POST | /api/v1/monitors/{id}/pause | Monitörü duraklat |
| GET | /api/v1/incidents | Olayları listele |
| POST | /api/v1/incidents/{id}/ack | Olayı üstlen |
| POST | /api/v1/incidents/{id}/snooze | Escalation’ı ertele |
| GET | /api/v1/events/stream | Canlı olaylar (Server-Sent Events) |
Canlı olaylar
/api/v1/events/stream, monitör durum değişikliklerini ve olay güncellemelerini taşıyan bir Server-Sent Events akışıdır. Panelin kendisi de bunu kullanır.
event: monitor.state
data: {"monitor_id":"mon_01J9Z…","state":"down","regions":{"ist":"failing","stc":"failing","fra":"failing"}}