API Site Monitor
Déclencher et lire health crawls, codes de statut, uptime et performance tracking via HTTP.
Le Site Monitor est le watchdog continu de santé de site de Rankion : il pingue des URLs définies à intervalles fixes, lance des audits Lighthouse, détecte les changements de code de statut, le downtime et les régressions Core Web Vitals. Via l'API, tu peux créer des moniteurs, les mettre en pause, les déclencher manuellement et récupérer tous les résultats de check.
Contexte du module : Site Monitor · voir aussi : Content Audit.
CRUD
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /v1/site-monitor |
Liste de tous les moniteurs (paginé) |
| POST | /v1/site-monitor |
Créer un nouveau moniteur |
| GET | /v1/site-monitor/{id} |
Détail incl. dernier check + résumé |
| PUT | /v1/site-monitor/{id} |
Update (URL, intervalle, config d'alertes) |
| DELETE | /v1/site-monitor/{id} |
Suppression |
curl -X POST "$BASE/site-monitor" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"interval_minutes": 5,
"lighthouse_enabled": true,
"alert_email": "ops@example.com"
}'
Pilotage
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /v1/site-monitor/{id}/pause |
Mettre en pause le moniteur (plus de checks) |
| POST | /v1/site-monitor/{id}/resume |
Réactiver un moniteur en pause |
| POST | /v1/site-monitor/{id}/check-now |
Déclencher un check immédiat (saute l'intervalle) |
# Spot-check manuel
curl -X POST "$BASE/site-monitor/3/check-now" \
-H "Authorization: Bearer $TOKEN"
Réponse : 202 Accepted — le check tourne en arrière-plan. Le résultat apparaît ensuite dans /v1/site-monitor/3/checks comme nouvelle ligne.
Lire les résultats
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /v1/site-monitor/{id}/checks |
Tous les check runs (code de statut, latence, bytes, timestamp) |
| GET | /v1/site-monitor/{id}/incidents |
Incidents consolidés (fenêtres de downtime, bursts 5xx) |
| GET | /v1/site-monitor/{id}/lighthouse |
Rapports Lighthouse (Performance, SEO, A11y, Best Practices, PWA) |
# Historique des codes de statut sur les 24 dernières heures
curl "$BASE/site-monitor/3/checks?from=2026-04-30T00:00:00Z" \
-H "Authorization: Bearer $TOKEN" \
| jq '.data[] | {checked_at, status_code, response_ms}'
Exemple de réponse pour /checks :
{
"data": [
{"id": 9821, "checked_at": "2026-05-01T09:15:00Z", "status_code": 200, "response_ms": 412},
{"id": 9820, "checked_at": "2026-05-01T09:10:00Z", "status_code": 200, "response_ms": 388},
{"id": 9819, "checked_at": "2026-05-01T09:05:00Z", "status_code": 503, "response_ms": 12000}
],
"meta": {"total": 1244}
}
Exemple /incidents :
{
"data": [
{
"id": 41,
"started_at": "2026-04-29T14:02:00Z",
"ended_at": "2026-04-29T14:18:00Z",
"duration_seconds": 960,
"status_code": 503,
"checks_failed": 4,
"alert_sent": true
}
]
}
Lighthouse
Les audits Lighthouse tournent à intervalles de 30 à 60 min selon le plan (séparément du ping HTTP). GET /lighthouse fournit la série temporelle des quatre catégories de score plus les Core Web Vitals (LCP, CLS, INP, TTFB) — la source de données naturelle pour un dashboard de performance interne.
curl "$BASE/site-monitor/3/lighthouse?per_page=30" \
-H "Authorization: Bearer $TOKEN" \
| jq '.data[] | {audited_at, performance, seo, lcp_ms, cls}'
Notes
- Plancher d'intervalle. Les moniteurs ne peuvent pas tourner plus vite que toutes les 60 secondes — même si
interval_minutes: 0est défini, le scheduler planifie à 1 min.check-nowest la bonne réponse pour les spot-checks. - Les incidents sont regroupés côté serveur. Plusieurs checks échoués dans une fenêtre sont persistés comme un seul incident, pas comme N événements distincts.
- Lighthouse est coûteux et ne tourne que si
lighthouse_enabled: trueest défini. Les données derrière sont rendues en headless Chrome — sur des bot-blocks (Cloudflare WAF, hCaptcha), l'audit renvoie{error: "blocked"}. - Pause n'arrête pas les jobs en cours. Un run Lighthouse déjà dispatché va jusqu'au bout ; l'effet pause s'applique au prochain tick du scheduler.
- Les IDs cross-team renvoient 404 — comme la plupart des endpoints Rankion.
Voir aussi : API Articles · Site Monitor · Content Audit.