CoreDash Uptime API ve MCP Araçları: Monitörler ve Kontroller

CoreDash API anahtarınla uptime monitörlerini listele, ekle, değiştir ve duraklat; kontrollerini REST veya MCP üzerinden oku.

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-10-20

Trusted by market leaders · Client results

whowhatwearworkivavpnmy work featured on web.devdpg mediahappyhorizonaleteialoopearplugsebayharvardsnvadevintacomparesaturnnestlenina careerasmusmcmonarchmarktplaatsperionkpnfotocasa

CoreDash API üzerinden uptime monitörleri

CoreDash projelerinin uptime monitörlerini REST üzerinden, RUM verilerin için zaten kullandığın API anahtarıyla oku ve değiştir. Bir AI ajanı bunları MCP üzerinden okur.

Hızlı başlangıç

  • Base URL https://app.coredash.app/api/uptime/monitors, JSON alır, JSON döner.
  • Header Authorization: Bearer cdk_your_key, proje anahtarı veya master key ile.
  • İlk çağrı: GET /api/uptime/monitors, monitörlerini durumları ve son 7 günün uptime oranıyla listeler.
 

Uptime monitörleri için API anahtarları

Uptime endpoint'leri, CoreDash API ve Agency API anahtarlarını kabul eder.

AnahtarŞununla başlarGördüğüYeni monitörün eklendiği yer
Proje anahtarıcdk_Yalnızca kendi projesinin monitörleriHer zaman kendi projesi
Master keycdk_master_Sahip olduğun veya davet edildiğin tüm projelerin monitörleriproject_id ile belirttiğin, sahibi olduğun proje

Projenin kenar çubuğundaki Connect Your AI sayfasından bir proje anahtarı oluştur: isim ver ve Generate API key'e tıkla. Aynı anahtarlar proje ayarlarında API Keys (MCP) altında da yer alır. Bunları yalnızca proje sahipleri oluşturabilir. Master key ise ajans hesaplarında, kenar çubuğundaki Agency API sayfasından alınır. Projenin süresi dolduğunda, proje anahtarı her çağrıda 401 alır.

Projedeki bir konuk monitörleri okuyabilir. Monitör eklemek, değiştirmek, taşımak ve silmek için sahibi olduğun bir proje gerekir.

Claude gibi bir AI bağlantısının OAuth token'ı (mcp_at_) yalnızca okuma yapar. Bununla yapılan POST, PATCH ve DELETE çağrıları 403 alır.

Uptime endpoint'leri

Metot ve yolİşleviDöndürdüğü
GET /api/uptime/monitorsAnahtarın görebildiği tüm monitörleri ada göre sıralı listeler.200, { "monitors": [...] }, her biri summary içerir
POST /api/uptime/monitorsYeni monitör ekler. İlk kontrol bir sonraki turda, :00 veya :30'da çalışır.201, { "monitor": {...} }
GET /api/uptime/monitors/:idKontrolleriyle birlikte tek bir monitör; en yeniden eskiye. ?limit= kontrol sayısını belirler: varsayılan 300, en fazla 2100.200, { "monitor", "summary", "checks", "rum" }
PATCH /api/uptime/monitors/:idGönderdiğin alanları değiştirir, kalanları olduğu gibi bırakır.200, { "monitor": {...} }
DELETE /api/uptime/monitors/:idMonitörü ve tüm kontrollerini siler.200, { "deleted": true }

Origin IP ve header değerleri gizlidir. POST, PATCH ve GET /api/uptime/monitors/:id yanıtlarında dönerler. Liste ve MCP araçları origin_ip alanını hariç tutar ve her header değerini •••• olarak gösterir.

Monitör nesnesi

AlanAnlamı
idMonitörün id'si; yollardaki :id parametresi için.
name, urlUygulamadaki isim ve kontrol edilen URL.
project_idMonitörün ait olduğu CoreDash projesi.
pausedMonitör kontrol edilmiyorken true.
expect_statusUp sayılan HTTP durumu. Varsayılan 200.
origin_checkOrigin IP tanımlandığında true; böylece her tur doğrudan sunucuyu da kontrol eder.
origin_ipSunucunun IP adresi. Yalnızca gizli verileri içeren yanıtlarda yer alır.
headersEk istek header'ları, [{ "name", "value" }].
statepending, up, failing, down, warn, blocked veya paused. Aşağıdaki durumlar tablosuna bak.
last_check_at, last_up_atSon kontrol turu ve up dönen son kontrol turu.
down_sinceDown durumundayken: ilk başarısız turun zamanı. Aksi halde null.
last_downSona eren son kesinti, { "from", "to" } veya null.
check_requested_atMonitörü eklediğinde ayarlanır. Bir sonraki tur bunu temizler.
lastTür başına son kontrol: her biri bir kontrol nesnesi olan edge ve origin. Origin kontrolü Cloudflare header'larıyla yanıt verdiğinde origin_is_cdn değeri true olur; yani girdiğin IP sunucun değildir.
cert_expiresZiyaretçilerinin aldığı HTTPS sertifikasının süresinin dolacağı zaman.
created_atMonitörün eklendiği tarih.

Summary ve rum alanları

Hem liste hem de tekil monitör bir summary içerir: rounds_7d ve down_rounds_7d son 7 günün turlarını sayar; uptime_7d down kontrolü olmayan turların yüzdesidir; recent ise en eskiden en yeniye son 48 turu ve her turun en kötü sonucunu tutar. Son 7 günde kontrolü olmayan bir monitörde summary: null olur.

Tekil monitör ayrıca rum alanı da taşır: kontrolcünün ttfb_ms değeriyle karşılaştırmak üzere, projenin RUM verilerinden gerçek ziyaretçilerinin son 7 gündeki p75 TTFB değeri. Projede RUM verisi yokken bu değer null olur.

GET /api/uptime/monitors/:id



Gerçek yanıtta recent 48 tur tutar; bu örnek son ikisini gösterir.

Kontrol nesnesi ve sonuçları

Her 30 dakikada bir kontrol turu tüm monitörleri sırayla iki sunucudan kontrol eder: :00'da scan1, :30'da scan2. Bir tur, URL'yi her zaman ziyaretçilerin ulaştığı şekilde, DNS ve CDN üzerinden kontrol eder (edge). Origin IP tanımlıysa doğrudan sunucunu da kontrol eder (origin). API'de turlar arasında bir monitörü kontrol edecek çağrı yoktur. Kontroller 30 gün saklanır.

Her kontrol CoreDash/1.0 (uptime; +https://www.coredash.app/bot) user agent'ını gönderir. Monitörün URL'si projenin kendi sitesindeyse (www ile veya www olmadan host ya da bir alt alan adı), kontrol ayrıca proje ayarlarındaki CoreDash bot token sekmesinde yer alan gizli değerinle X-CoreDash-Bot header'ını gönderir. Başka herhangi bir sitedeki monitöre token gönderilmez. Yönlendirmede token, tanımladığın headers kuralını izler: yalnızca yönlendirme monitörün host'unda kaldığı sürece iletilir. Senin eklediğin X-CoreDash-Bot adlı bir header varsa yoksayılır. CoreDash bot sayfası her ikisi hakkında da daha fazla bilgi sunar.

AlanAnlamı
at, serverSunucunun turu bildirdiği zaman ve turu hangi sunucunun çalıştırdığı: scan1 veya scan2. Tek turun kontrolleri aynı at değerini paylaşır.
modeedge veya origin.
outcomeup, down, blocked veya warn.
statusYönlendirmelerden sonraki son yanıtın HTTP durumu. Yanıt alınamadığında null.
ttfb_ms, total_ms, connect_msTime to First Byte ve toplam süre (ikisi de yönlendirmeleri kapsar) ile ilk istekteki bağlantı kurma süresi.
redirects, final_urlİzlenen yönlendirme sayısı ve son yanıt veren URL.
error, error_textKontrolün neden başarısız olduğu; aşağıdaki tablodan bir değer ve metin olarak.
cloudflare, cache_statusYanıtın Cloudflare üzerinden gelip gelmediği ve CDN'in cache header'ı (cf-cache-status veya x-cache).

Bir kontrolün sonucu nasıl belirlenir

SonuçHangi durumda
upDurum kodu expect_status ile eşleştiğinde; ancak bu durum 403, 429 veya 500 ve üzeri ise öncelikle blocked ya da down sayılır.
down500 veya üzeri bir durum kodu ya da bir error: dns, connect, connect_timeout (10 saniye içinde bağlantı yok), timeout (30 saniye içinde tam yanıt yok), tls, redirects (5'ten fazla) veya network.
blocked403, 429 veya bir Cloudflare challenge: bir güvenlik duvarı kontrolcüyü durdurdu. Asla kesinti süresi sayılmaz. CoreDash'e güvenlik duvarında izin ver.
warnDiğer tüm durumlar; örneğin bir deploy sonrasında ödeme sayfasında dönen 404 gibi. Ayrıca invalid_ip ve invalid_url: URL veya yönlendirme özel ya da ayrılmış bir adrese çıkıyorsa veya yönlendirme bir URL olmayan bir şeye işaret ediyorsa. Kontrolcü bunlara istek atmaz.

Bir turun kontrolleri arasındaki en kötü sonuç, monitörün durumunu belirler; en kötüden en iyiye: down, blocked, warn, up.

Monitör durumları

stateUygulamadaAnlamı
pendingWaiting for first checkEklendi; ilk tur henüz çalışmadı.
upUpSon tur beklenen durumu aldı.
failingFailingBir tur başarısız oldu. Bir tur daha başarısız olursa down olur.
downDownÜst üste iki başarısız tur; yani her iki sunucu da başarısız olduğunu gördü.
warnUnexpected statusSon tur warn döndü.
blockedBlockedBir güvenlik duvarı kontrolcüyü durdurdu.
pausedPausedpaused değerini false yapana kadar kontrol edilmez.

Aboneliği sona eren bir projedeki monitör, ayarlarını ve son durumunu korur. Proje ödemesi tekrar yapılana kadar kontrol edilmez.

Monitör ekle, değiştir ve sil

POST /api/uptime/monitors


AlanKurallar
urlPOST isteğinde zorunludur. Kullanıcı adı veya parola içermeyen tam bir http veya https URL'si.
nameEn fazla 80 karakter; daha uzun isimler kesilir. POST isteğinde boş bırakılırsa: URL'nin host'u alınır. PATCH isteğinde boş bırakılırsa: eski isim kalır veya aynı PATCH yeni bir url gönderiyorsa yeni host kullanılır.
project_idMaster key ile zorunludur: aktif bir deneme süresi veya ücretli aboneliği bulunan, sahibi olduğun bir proje. Proje anahtarı bu alanı yok sayar ve kendi projesini kullanır.
origin_ipSunucunun public IPv4 veya IPv6 adresi. Origin kontrolünü ekler: DNS ve CDN'i atlayarak doğrudan bu IP'ye gider. "" veya null bu kontrolü kaldırır.
headersEn fazla 5 ek istek header'ı, [{ "name", "value" }]. İsimler: harfler, sayılar ve tire; en fazla 64 karakter. Değerler: en fazla 256 karakter, daha uzun olanlar kesilir. Yönlendirmelerde yalnızca monitörün host'unda (www ile veya www olmadan) kalındığı sürece iletilir. Alt alan adları dahil başka herhangi bir host'a yapılan yönlendirmede bu header'ların hiçbiri gönderilmez.
expect_statusUp sayılan durum kodu, 100 ile 599 arası. Varsayılan 200. 403, 429 veya 500 ve üzeri hiçbir durum kodu asla up sayılmaz.
pausedtrue kontrolleri durdurur, false yeniden başlatır.

Yanıt 201 döner; yeni monitör, origin IP ve header değerleri dahildir:

 

PATCH /api/uptime/monitors/:id

Yalnızca değiştirdiğin alanları gönder. headers listenin tamamının yerine geçer; bu yüzden korumak istediğin tüm header'ları gönder. Şu istek bir monitörü duraklatır:


Master key ile project_id, monitörü POST ile aynı kurallara göre taşır.

DELETE /api/uptime/monitors/:id


Bunun geri dönüşü yoktur. Kontrolleri durdurup geçmişi korumak için PATCH ile { "paused": true } gönder.

Uptime API hataları ve limitleri

Hatalar { "error": "..." } formatında ve şu durumlardan biriyle döner:

DurumHangi durumda
400Gövde bir kuralı ihlal ediyor. Hangi kural olduğunu error belirtir; aşağıya bak.
401Unauthorized: anahtar yok, bilinmeyen, iptal edilmiş ya da süresi dolmuş bir anahtar veya süresi dolmuş bir projeye bağlı anahtar.
403This token can only read. Use a CoreDash API key to change monitors.: bir OAuth token'ı (mcp_at_) ile POST, PATCH veya DELETE yapıldığında. Konuk olduğun bir projedeki monitörde PATCH veya DELETE çalıştırmak, Only the project's owners can change its monitors mesajıyla 403 alır.
404Monitor not found: id mevcut değil veya anahtar bu monitörü göremiyor.
405Method not allowed.
400 errorÇözüm
Choose a project for this monitorMaster key ile birlikte project_id gönder.
project not foundproject_id sahibi olduğun bir proje değil. Konuklar oraya monitör ekleyemez veya taşıyamaz.
This project's subscription has endedMonitör eklemek veya taşımak için ücretli bir proje ya da devam eden bir deneme süresi gerekir.
A project can have up to 25 monitorsÖnce birini sil veya başka bir proje kullan.
A monitor must belong to a projectPATCH isteğine project_id dahil etme ya da sahibi olduğun bir proje gönder.
url can't contain a username or passwordBasic auth için headers içinde bir Authorization header'ı gönder.
origin_ip is not an IP address, origin_ip must be a public IP addressDoğrudan sunucunun kendi public adresini kullan.
url must be a full http or https URL, e.g. https://www.example.com/, url must start with http:// or https://, headers must be a list of {name, value}, at most 5 headers, "…" isn't a valid header name (letters, numbers and dashes only), expect_status must be an HTTP status codeMesajda belirtilen alanı düzelt. Kuralları POST altındaki alan tablosunda bulabilirsin.

Limitler: Proje başına 25 monitör, monitör başına 5 ek header, tekil monitör GET çağrısı başına 2100 kontrol ve 30 günlük kontrol geçmişi.

Uptime MCP araçları

https://app.coredash.app/api/mcp adresindeki CoreDash MCP sunucusu, RUM araçlarının yanında iki uptime aracına ve anahtarının erişebildiği projeler için list_projects aracına sahiptir. Üçü de yalnızca okuma yapar. Monitör eklemek, değiştirmek veya silmek için uygulamayı ya da CoreDash API anahtarıyla yukarıdaki REST endpoint'lerini kullan. Araçlar project_id gerektirmez: bir proje anahtarı kendi projesini okur; master key veya Claude gibi bir OAuth bağlantısı ise sahip olduğun ya da davet edildiğin tüm projeleri okur.

AraçAjanına sorDöndürdüğü
list_projects"Hangi siteleri görebiliyorsun?"project_id, name, url ve role (owner veya guest) içeren { "projects": [...] }.
list_uptime_monitors"Her şey çalışıyor mu?"Origin IP ve header değerleri maskelenmiş { "monitors": [...] }.
get_uptime_monitor"Ödeme sayfası bu hafta down oldu mu, ne zamandan beri?"{ "monitor", "summary", "checks" }. monitor_id ve limit (varsayılan 100, en fazla 1000) alır; summary bu kontroller üzerinden rounds, down_rounds ve uptime_pct değerlerini verir.

Yanıt, CoreDash API'sinin JSON-RPC sarmalayıcısıdır ve sonuç result.content[0].text içinde JSON string olarak döner. Bilinmeyen bir monitör burada { "error": "Monitor not found" } verir ve result.isError değeri true olur.

Uptime ve CoreDash API hakkında daha fazlası

CoreDash Uptime API ve MCP Araçları: Monitörler ve Kontroller Core Web Vitals CoreDash Uptime API ve MCP Araçları: Monitörler ve Kontroller