CoreDash Uptime-API ja MCP-työkalut: monitorit ja tarkistukset

Listaa, lisää, muokkaa ja tauota uptime-monitoreja CoreDash-API-avaimellasi, ja lue niiden tarkistuksia REST:in tai MCP:n kautta.

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

Trusted by market leaders · Client results

monarchnestleperionharvardkpnwhowhatwearerasmusmcsnvworkivacomparemarktplaatsdpg mediaadevintaaleteiavpnhappyhorizonfotocasaebaysaturnnina careloopearplugsmy work featured on web.dev

Uptime-monitorit CoreDash-API:n kautta

Lue ja muokkaa CoreDash-projektiesi uptime-monitoreja REST:in kautta samalla API-avaimella, jota käytät jo RUM-datalle. AI-agentti lukee ne MCP:n kautta.

Pikaopas

  • Base-URL https://app.coredash.app/api/uptime/monitors, JSON sisään ja JSON ulos.
  • Header Authorization: Bearer cdk_your_key, joko projektiavaimella tai master-avaimella.
  • Ensimmäinen kutsu: GET /api/uptime/monitors listaa monitorisi, niiden tilan ja viimeisen 7 päivän uptimen.
curl https://app.coredash.app/api/uptime/monitors \
  -H "Authorization: Bearer cdk_your_key"

Uptime-monitorien API-avaimet

Uptime-endpointit hyväksyvät CoreDash API:n ja Agency API:n avaimet.

AvainAlkaaNäkeeUusi monitori menee kohteeseen
Projektiavaincdk_Oman projektinsa monitoritAina omaan projektiinsa
Master-avaincdk_master_Kaikkien omistamiesi tai sinulle jaettujen projektien monitoritOmistamaasi projektiin, jonka ilmoitat kentässä project_id

Luo projektiavain projektisi sivupalkin Connect Your AI -sivulla: anna sille nimi ja klikkaa Generate API key. Samat avaimet löytyvät projektin asetuksista kohdasta API Keys (MCP). Vain projektin omistajat voivat luoda niitä. Master-avaimen saa sivupalkin Agency API -sivulta agency-tileillä. Kun projekti on vanhentunut, sen projektiavain saa koodin 401 jokaisella kutsulla.

Projektin vierailija voi vain lukea sen monitoreja. Niiden lisääminen, muuttaminen, siirtäminen ja poistaminen vaatii omistamasi projektin.

AI-yhteyden, kuten Clauden, OAuth-tokenilla (mcp_at_) on vain lukuoikeus. Kutsut POST, PATCH ja DELETE saavat sen kanssa koodin 403.

Uptime-endpointit

Metodi ja polkuMitä se tekeePalauttaa
GET /api/uptime/monitorsListaa kaikki avaimelle näkyvät monitorit nimen mukaan lajiteltuna.200, { "monitors": [...] }, jokaisessa summary
POST /api/uptime/monitorsLisää monitorin. Ensimmäinen tarkistus suoritetaan seuraavalla kierroksella, :00 tai :30.201, { "monitor": {...} }
GET /api/uptime/monitors/:idYksittäinen monitori tarkistuksineen, uusimmat ensin. ?limit= määrittää tarkistusten määrän: oletus 300, enintään 2100.200, { "monitor", "summary", "checks", "rum" }
PATCH /api/uptime/monitors/:idMuuttaa lähetetyt kentät ja jättää muut ennalleen.200, { "monitor": {...} }
DELETE /api/uptime/monitors/:idPoistaa monitorin ja kaikki sen tarkistukset.200, { "deleted": true }

Origin-IP ja headerien arvot ovat salaisia. Ne palautetaan kutsuista POST, PATCH ja GET /api/uptime/monitors/:id. Listaus ja MCP-työkalut jättävät kentän origin_ip pois ja näyttävät jokaisen headerin arvona ••••.

Monitor-objekti

KenttäMerkitys
idMonitorin id, jota käytetään polkujen parametrina :id.
name, urlSovelluksessa näkyvä nimi ja tarkistettava URL.
project_idCoreDash-projekti, johon monitori kuuluu.
pausedtrue, kun monitoria ei tarkisteta.
expect_statusHTTP-tila, joka lasketaan toimivaksi. Oletus 200.
origin_checktrue, kun origin-IP on määritetty, jolloin jokainen kierros tarkistaa myös itse palvelimen.
origin_ipPalvelimen IP-osoite. Mukana vain vastauksissa, jotka sisältävät salaisia tietoja.
headersYlimääräiset pyynnön headerit, [{ "name", "value" }].
statepending, up, failing, down, warn, blocked tai paused. Katso alla oleva tilataulukko.
last_check_at, last_up_atViimeisin kierros ja viimeisin kierros, jolloin tila oli up.
down_sinceAlhaalla ollessa: ensimmäisen epäonnistuneen kierroksen ajankohta. Muutoin null.
last_downViimeisin päättynyt käyttökatko, { "from", "to" }, tai null.
check_requested_atAsetetaan monitoria lisättäessä. Seuraava kierros nollaa sen.
lastViimeisin tarkistus tyypeittäin: edge ja origin, kumpikin oma check-objektinsa. origin_is_cdn on true, kun origin-tarkistus vastasi Cloudflaren headereilla, jolloin antamasi IP ei ole oma palvelimesi.
cert_expiresAjankohta, jolloin kävijöille tarjottava HTTPS-sertifikaatti vanhenee.
created_atAjankohta, jolloin monitori lisättiin.

Kentät summary ja rum

Sekä listaus että yksittäinen monitori sisältävät kentän summary. Siinä rounds_7d ja down_rounds_7d laskevat viimeisen 7 päivän kierrokset, ja uptime_7d on niiden kierrosten prosenttiosuus, joissa ei ollut yhtään down-tarkistusta. Kenttä recent sisältää viimeiset 48 kierrosta vanhimmasta alkaen, kunkin kyseisen kierroksen huonoimmalla tuloksella. Jos monitorilla ei ole tarkistuksia viimeisen 7 päivän ajalta, arvo on summary: null.

Yksittäinen monitori sisältää myös kentän rum: oikeiden kävijöiden viimeisen 7 päivän TTFB p75-tasolla projektin RUM-datasta, jota voi verrata tarkistimen arvoon ttfb_ms. Arvo on null, kun projektilla ei ole RUM-dataa.

GET /api/uptime/monitors/:id

curl "https://app.coredash.app/api/uptime/monitors/6ad68c7a844fad80b752fd16?limit=2" \
  -H "Authorization: Bearer cdk_your_key"
{
  "monitor": {
    "id": "6ad68c7a844fad80b752fd16",
    "name": "Checkout",
    "url": "https://www.example.com/checkout/",
    "project_id": "655f1f77bcf86cd799439011",
    "paused": false,
    "expect_status": 200,
    "origin_check": true,
    "origin_ip": "203.0.113.10",
    "headers": [{ "name": "X-Staging-Auth", "value": "k7Qp2vX9mR4tL8wZ" }],
    "state": "up",
    "last_check_at": "2026-10-20T08:00:09.000Z",
    "last_up_at": "2026-10-20T08:00:09.000Z",
    "down_since": null,
    "last_down": { "from": "2026-10-18T19:00:11.000Z", "to": "2026-10-18T20:00:10.000Z" },
    "check_requested_at": null,
    "last": {
      "edge": { "at": "2026-10-20T08:00:09.000Z", "server": "scan1", "mode": "edge", "outcome": "up", "status": 200, "ttfb_ms": 212, "total_ms": 388, "connect_ms": 14, "redirects": 0, "final_url": "https://www.example.com/checkout/", "error": null, "error_text": null, "cloudflare": true, "cache_status": "DYNAMIC" },
      "origin": { "at": "2026-10-20T08:00:09.000Z", "server": "scan1", "mode": "origin", "outcome": "up", "status": 200, "ttfb_ms": 640, "total_ms": 702, "connect_ms": 9, "redirects": 0, "final_url": "https://www.example.com/checkout/", "error": null, "error_text": null, "cloudflare": false, "cache_status": null },
      "origin_is_cdn": false
    },
    "cert_expires": "2027-01-02T23:59:59.000Z",
    "created_at": "2026-10-06T09:12:41.000Z"
  },
  "summary": {
    "rounds_7d": 336,
    "down_rounds_7d": 2,
    "uptime_7d": 99.4,
    "recent": [
      { "at": "2026-10-20T07:30:10.000Z", "outcome": "up" },
      { "at": "2026-10-20T08:00:09.000Z", "outcome": "up" }
    ]
  },
  "checks": [
    { "at": "2026-10-20T08:00:09.000Z", "server": "scan1", "mode": "edge", "outcome": "up", "status": 200, "ttfb_ms": 212, "total_ms": 388, "connect_ms": 14, "redirects": 0, "final_url": "https://www.example.com/checkout/", "error": null, "error_text": null, "cloudflare": true, "cache_status": "DYNAMIC" },
    { "at": "2026-10-20T08:00:09.000Z", "server": "scan1", "mode": "origin", "outcome": "up", "status": 200, "ttfb_ms": 640, "total_ms": 702, "connect_ms": 9, "redirects": 0, "final_url": "https://www.example.com/checkout/", "error": null, "error_text": null, "cloudflare": false, "cache_status": null }
  ],
  "rum": { "ttfb_p75": 1920, "rating": "poor", "period": "last 7 days" }
}

Oikeassa vastauksessa recent sisältää 48 kierrosta; tässä esimerkissä näytetään kaksi viimeisintä.

Check-objekti ja sen tulokset

Kaikki monitorit tarkistetaan 30 minuutin välein kahdelta palvelimelta vuorotellen: scan1 ajassa :00 ja scan2 ajassa :30. Kierros tarkistaa URL-osoitteen aina niin kuin kävijät sen avaavat, DNS:n ja CDN:n kautta (edge). Jos origin-IP on määritetty, se tarkistaa myös palvelimesi suoraan (origin). API:ssa ei ole kutsua monitorin tarkistamiseen kierrosten välillä. Tarkistukset säilytetään 30 päivää.

Jokainen tarkistus lähettää user agentin CoreDash/1.0 (uptime; +https://www.coredash.app/bot). Kun monitorin URL on projektisi omalla sivustolla (sen host-osoitteessa www-etuliitteellä tai ilman, tai aliverkkotunnuksessa), tarkistus lähettää myös headerin X-CoreDash-Bot projektisi salaisella arvolla, joka löytyy projektin asetuksista CoreDash bot token -välilehdeltä. Muiden sivustojen monitorit eivät saa tokenia. Uudelleenohjauksessa token noudattaa samaa sääntöä kuin asettamasi headers: se kulkee mukana vain niin kauan kuin uudelleenohjaus pysyy monitorin host-osoitteessa. Oma X-CoreDash-Bot-niminen headerisi pudotetaan pois. Molemmista kerrotaan lisää CoreDash bot -sivulla.

KenttäMerkitys
at, serverAjankohta, jolloin palvelin raportoi kierroksen, ja kumpi palvelin sen suoritti: scan1 vai scan2. Saman kierroksen tarkistuksilla on sama at-arvo.
modeedge tai origin.
outcomeup, down, blocked tai warn.
statusViimeisen vastauksen HTTP-tila uudelleenohjausten jälkeen. null, jos mikään ei vastannut.
ttfb_ms, total_ms, connect_msTime to First Byte ja kokonaisaika (molemmat uudelleenohjaukset mukaan lukien) sekä ensimmäisen pyynnön yhteyden muodostusaika.
redirects, final_urlSeurattujen uudelleenohjausten määrä ja viimeisenä vastannut URL.
error, error_textSyy tarkistuksen epäonnistumiseen alla olevan taulukon arvona ja tekstinä.
cloudflare, cache_statusTuliko vastaus Cloudflaren kautta, sekä CDN:n cache-header (cf-cache-status tai x-cache).

Miten tarkistuksen tulos määräytyy

TulosMilloin
upTila vastaa arvoa expect_status, paitsi jos kyseinen tila on 403, 429 tai vähintään 500: nämä katsotaan ensisijaisesti tiloiksi blocked tai down.
downTila 500 tai suurempi, tai jokin error: dns, connect, connect_timeout (ei yhteyttä 10 sekunnissa), timeout (ei täyttä vastausta 30 sekunnissa), tls, redirects (yli 5 uudelleenohjausta) tai network.
blocked403, 429 tai Cloudflare-haaste: palomuuri esti tarkistimen. Tätä ei koskaan lasketa käyttökatkoksi. Päästä CoreDash palomuurisi läpi.
warnMikä tahansa muu tila, kuten kassan 404 julkaisun jälkeen. Myös invalid_ip ja invalid_url: URL tai uudelleenohjaus johtaa yksityiseen tai varattuun osoitteeseen, tai uudelleenohjaus osoittaa kohteeseen, joka ei ole URL. Tarkistin ei tee pyyntöjä näihin osoitteisiin.

Kierroksen tarkistusten huonoin tulos määrää monitorin tilan järjestyksessä huonoimmasta parhaaseen: down, blocked, warn, up.

Monitorin tilat

stateSovelluksessaMerkitys
pendingOdottaa ensimmäistä tarkistustaLisätty; ensimmäistä kierrosta ei ole vielä suoritettu.
upToiminnassaViimeisin kierros sai odotetun tilan.
failingVikaantuuYksi kierros epäonnistui. Vielä yksi tekee tilaksi down.
downAlhaallaKaksi epäonnistunutta kierrosta peräkkäin, joten molemmat palvelimet totesivat sen epäonnistuneen.
warnOdottamaton tilaViimeisin kierros palautti tilan warn.
blockedEstettyPalomuuri esti tarkistimen.
pausedTauollaEi tarkisteta, ennen kuin asetat kentän paused arvoksi false.

Jos projektin tilaus on päättynyt, monitori säilyttää asetuksensa ja viimeisimmän tilansa. Sitä ei tarkisteta ennen kuin projekti on jälleen maksettu.

Lisää, muuta ja poista monitori

POST /api/uptime/monitors

curl -X POST https://app.coredash.app/api/uptime/monitors \
  -H "Authorization: Bearer cdk_master_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.example.com/checkout/",
    "name": "Checkout",
    "project_id": "655f1f77bcf86cd799439011",
    "origin_ip": "203.0.113.10",
    "headers": [{ "name": "X-Staging-Auth", "value": "k7Qp2vX9mR4tL8wZ" }],
    "expect_status": 200
  }'
KenttäSäännöt
urlPakollinen POST-kutsussa. Täydellinen http- tai https-URL ilman käyttäjätunnusta tai salasanaa.
nameEnintään 80 merkkiä; pidemmät nimet katkaistaan. Tyhjä POST-kutsussa: URL-osoitteen host. Tyhjä PATCH-kutsussa: vanha nimi säilyy, tai uusi host, jos samassa PATCH-kutsussa lähetetään uusi url.
project_idPakollinen master-avaimella: omistamasi projekti, jolla on maksullinen tilaus tai käynnissä oleva kokeilujakso. Projektiavain jättää kentän huomiotta ja käyttää omaa projektiaan.
origin_ipPalvelimesi julkinen IPv4- tai IPv6-osoite. Lisää origin-tarkistuksen: suoraan tähän IP-osoitteeseen ohi DNS:n ja CDN:n. "" tai null poistaa sen.
headersEnintään 5 ylimääräistä pyynnön headeria, [{ "name", "value" }]. Nimet: kirjaimia, numeroita ja yhdysmerkkejä, enintään 64 merkkiä. Arvot: enintään 256 merkkiä, pidemmät katkaistaan. Uudelleenohjauksessa ne kulkevat mukana vain niin kauan kuin se pysyy monitorin host-osoitteessa, www-etuliitteellä tai ilman. Uudelleenohjaus mihin tahansa muuhun hostiin, aliverkkotunnus mukaan lukien, ei saa yhtäkään niistä.
expect_statusTila, joka lasketaan toimivaksi, 100–599. Oletus 200. Koodia 403, 429 tai mitään vähintään 500:n tilaa ei koskaan lasketa toimivaksi.
pausedtrue pysäyttää tarkistukset, false käynnistää ne uudelleen.

Vastaus on 201 uuden monitorin kera, mukaan lukien origin-IP ja headerien arvot:

{
  "monitor": {
    "id": "6ad68c7a844fad80b752fd16",
    "name": "Checkout",
    "url": "https://www.example.com/checkout/",
    "project_id": "655f1f77bcf86cd799439011",
    "paused": false,
    "expect_status": 200,
    "origin_check": true,
    "origin_ip": "203.0.113.10",
    "headers": [{ "name": "X-Staging-Auth", "value": "k7Qp2vX9mR4tL8wZ" }],
    "state": "pending",
    "last_check_at": null,
    "last_up_at": null,
    "down_since": null,
    "last_down": null,
    "check_requested_at": "2026-10-20T09:12:41.000Z",
    "last": {},
    "cert_expires": null,
    "created_at": "2026-10-20T09:12:41.000Z"
  }
}

PATCH /api/uptime/monitors/:id

Lähetä vain ne kentät, joita muutat. headers korvaa koko listan, joten lähetä kaikki säilytettävät headerit. Tämä asettaa monitorin tauolle:

curl -X PATCH https://app.coredash.app/api/uptime/monitors/6ad68c7a844fad80b752fd16 \
  -H "Authorization: Bearer cdk_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "paused": true }'

Master-avaimella project_id siirtää monitorin samojen sääntöjen mukaan kuin POST-kutsussa.

DELETE /api/uptime/monitors/:id

curl -X DELETE https://app.coredash.app/api/uptime/monitors/6ad68c7a844fad80b752fd16 \
  -H "Authorization: Bearer cdk_your_key"

Toimintoa ei voi kumota. Jos haluat pysäyttää tarkistukset ja säilyttää historian, lähetä { "paused": true } PATCH-kutsulla.

Uptime API:n virheet ja rajoitukset

Virheet palautetaan muodossa { "error": "..." } jollakin näistä tilakoodeista:

TilaMilloin
400Pyyntörunko rikkoo jotain sääntöä. Kenttä error kertoo syyn, katso alta.
401Unauthorized: avain puuttuu, avain on tuntematon, peruttu tai vanhentunut, tai avain liittyy vanhentuneeseen projektiin.
403This token can only read. Use a CoreDash API key to change monitors.: POST-, PATCH- tai DELETE-kutsu OAuth-tokenilla (mcp_at_). PATCH tai DELETE monitorille projektissa, jossa olet vierailijana, palauttaa 403:n viestillä Only the project's owners can change its monitors.
404Monitor not found: id-tunnistetta ei löydy tai avaimella ei ole pääsyä kyseiseen monitoriin.
405Method not allowed.
400 errorKorjaus
Choose a project for this monitorLähetä project_id master-avaimen kanssa.
project not foundproject_id ei ole omistamasi projekti. Vierailijat eivät voi lisätä monitoreja tai siirtää niitä sinne.
This project's subscription has endedMonitorin lisääminen tai siirtäminen vaatii maksullisen projektin tai käynnissä olevan kokeilujakson.
A project can have up to 25 monitorsPoista ensin jokin monitori tai käytä toista projektia.
A monitor must belong to a projectJätä project_id pois PATCH-kutsusta tai anna omistamasi projekti.
url can't contain a username or passwordKäytä basic authia varten Authorization-headeria kentässä headers.
origin_ip is not an IP address, origin_ip must be a public IP addressKäytä itse palvelimen julkista osoitetta.
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 codeKorjaa viestin ilmoittama kenttä. Sen säännöt löytyvät POST-kohdan kenttätaulukosta.

Rajoitukset: 25 monitoria projektia kohden, 5 ylimääräistä headeria monitoria kohden, 2100 tarkistusta yksittäisen monitorin GET-kutsussa ja 30 päivän tarkistushistoria.

Uptime MCP -työkalut

CoreDash MCP -palvelin osoitteessa https://app.coredash.app/api/mcp tarjoaa RUM-työkalujen rinnalla kaksi uptime-työkalua sekä työkalun list_projects niille projekteille, joihin avaimellasi on pääsy. Kaikki kolme ovat vain lukemiseen. Jos haluat lisätä, muuttaa tai poistaa monitorin, käytä sovellusta tai yllä olevia REST-endpointteja CoreDash API -avaimella. Työkalut eivät tarvitse kenttää project_id: projektiavain lukee omaa projektiaan, ja master-avain tai OAuth-yhteys (kuten Claude) lukee kaikkia projekteja, jotka omistat tai joihin sinut on kutsuttu.

TyökaluKysy agentiltasiPalauttaa
list_projects”Mitä sivustoja näet?”{ "projects": [...] } kentillä project_id, name, url ja role (owner tai guest).
list_uptime_monitors”Onko kaikki toiminnassa?”{ "monitors": [...] }, jossa origin-IP ja headerien arvot on maskattu.
get_uptime_monitor”Oliko kassa alhaalla tällä viikolla, ja mistä lähtien?”{ "monitor", "summary", "checks" }. Ottaa vastaan parametrit monitor_id ja limit (oletus 100, enintään 1000); summary antaa kentät rounds, down_rounds ja uptime_pct näiden tarkistusten ajalta.
curl -X POST https://app.coredash.app/api/mcp \
  -H "Authorization: Bearer cdk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_uptime_monitor",
      "arguments": { "monitor_id": "6ad68c7a844fad80b752fd16", "limit": 48 }
    }
  }'

Vastaus on CoreDash API:n JSON-RPC-kääre, jossa tulos on JSON-merkkijonona kentässä result.content[0].text. Tuntematon monitori antaa siinä arvon { "error": "Monitor not found" }, ja result.isError on true.

Lisää uptimesta ja CoreDash API:sta

CoreDash Uptime-API ja MCP-työkalut: monitorit ja tarkistukset Core Web Vitals CoreDash Uptime-API ja MCP-työkalut: monitorit ja tarkistukset