Een API kan online zijn en toch kapot. Een load balancer antwoordt, de statuscode is 200, en de body meldt dat de databaseverbinding is mislukt. Je mobiele app, je partners en je eigen frontend zien allemaal een fout, en een gewone uptime check ziet niets verkeerds.
API-monitoring roept je endpoints volgens een schema aan en controleert zowel dat ze antwoorden als dat het antwoord klopt. In Uptimecheck gebruikt het dezelfde HTTP(S)-monitors als website-uptime monitoring, met de opties die een API nodig heeft.
Wat je kunt instellen
Methode: GET, POST, PUT, PATCH, DELETE, HEAD of OPTIONS.Headers: maximaal 20, zoals een API-sleutel, een Authorization-header of een eigen user agent.Body: post een JSON-payload om een schrijfpad te testen.Verwachte status: codes of reeksen, zoals 200-299 of 201.JSON- en headerchecks: maximaal 10 checks waaraan allemaal moet worden voldaan, zoals $.status is gelijk aan ok.Keyword: tekst die het antwoord wel of juist niet mag bevatten.Time-out en traagheidsgrens: laat de check na maximaal 30 seconden falen, en krijg een melding als responstijden boven je grens blijven.
Welke endpoints je het eerst monitort
Begin met de verzoeken die geld opleveren of gebruikers blokkeren. Voor een webshop zijn dat de winkelwagen, de checkout en de callback van de betaling. Voor een SaaS-product zijn het de login, het belangrijkste lees-endpoint en elke webhook die je van een betaalprovider ontvangt. De checklist voor API-monitoring zet op een rij wat je moet afdekken en hoe vaak, en onze gids over health check endpoints laat zien wat een goed endpoint teruggeeft.
Een typische opzet voor lumenanalytics.io
GET /health elke minuut, met een JSON-check dat $.status gelijk is aan ok.POST /v1/events met een kleine testpayload en een header met een API-sleutel.GET /v1/reports met een Authorization-header en een traagheidsmelding bij 1.500 ms.
Weet wanneer een endpoint trager wordt
Uptimecheck checkt vanuit Stockholm, Londen en New York en bevestigt elke fout vanaf een tweede locatie voordat er een incident wordt geopend, zodat één verloren verzoek niet meteen het hele team oproept. Responstijden worden per check opgeslagen en uitgesplitst naar DNS, connect, TLS, server en download. Zo zie je dat het reports-endpoint om 14:00 van 90 ms naar 2,4 s ging, dat de tijd in de serverfase zat en dat de health check vlak bleef.
Als één verzoek niet genoeg is
Veel API-problemen komen pas aan het licht in een reeks: inloggen, een token ophalen, dat token gebruiken. Een flow-monitor voert maximaal 10 stappen op volgorde uit, bewaart een waarde zoals een token of een order-id uit de ene stap en gebruikt die in de volgende. Geheimen zoals wachtwoorden worden versleuteld en nooit meer getoond.
Meldingen en automatisering
Als een endpoint faalt, gaan meldingen naar e-mail, Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram, PagerDuty, ntfy, Pushover, webhooks en pushmeldingen op je telefoon, op elk abonnement. Webhooks zijn ondertekend, zodat je eigen tooling kan controleren waar ze vandaan komen. Je kunt monitors ook vanuit code beheren: op Professional en Business maakt en wijzigt de REST API monitors vanuit je deploy-pipeline, zodat een nieuw endpoint een monitor krijgt op de dag dat het live gaat.
Monitor ook afhankelijkheden, niet alleen je eigen code
Je API is afhankelijk van anderen: een betaalprovider, een e-maildienst, een hostingplatform. Als een daarvan uitvalt, kan je endpoint nog steeds antwoorden terwijl de functie erachter kapot is. Voeg monitors toe voor de endpoints die deze diensten aanspreken, en volg de statuspagina’s van leveranciers zoals Klarna, Shopify, Cloudflare en OpenAI met monitoring van diensten van derden. Dan kun je een klant binnen enkele minuten vertellen of het probleem bij jou ligt of bij een leverancier.
Houd testverkeer veilig
Gebruik een apart testaccount of een aparte API-sleutel voor monitoringverzoeken, en maak schrijfchecks idempotent, zodat een POST elke minuut je database niet volzet met testrecords. Markeer monitoringverkeer met een eigen user-agent-header, zodat je het makkelijk uit je eigen analytics en logs kunt filteren.
Voor achtergrondtaken zonder endpoint gebruik je in plaats daarvan cronjob-monitoring.
Abonnementen beginnen bij €9 per maand bij jaarlijkse betaling of €12 bij maandelijkse betaling, excl. btw. Bekijk alle limieten op de prijspagina, of start een gratis proefperiode van 14 dagen zonder creditcard.