Documentation API
API REST v1 – Disponible sur les forfaits Enterprise
Authentification
Toutes les requêtes API nécessitent un jeton Bearer dans l'en-tête Authorization Générez des clés API depuis Paramètres.
curl -H "Authorization: Bearer sg_live_your_key_here" \
https://siteguardian.io/api/v1/monitors
Limite de débit : 120 requêtes par minute par clé API. Le dépassement renvoie 429 Too Many Requests.
Format de réponse
Toutes les réponses renvoient du JSON avec une structure cohérente :
// Success { "data": { ... }, "meta": { "timestamp": "2026-03-20T14:30:00+00:00" } } // Paginated { "data": [ ... ], "meta": { "total": 42, "limit": 50, "offset": 0 } } // Error { "detail": "Monitor not found." }
Points de terminaison
M Moniteurs
| Méthode | Point de terminaison | Description |
|---|---|---|
| GET | /api/v1/monitors | Lister tous les moniteurs |
| POST | /api/v1/monitors | Créer un moniteur |
| GET | /api/v1/monitors/:id | Obtenir les détails d'un moniteur |
| PATCH | /api/v1/monitors/:id | Mettre à jour les paramètres du moniteur |
| DELETE | /api/v1/monitors/:id | Supprimer le moniteur |
| POST | /api/v1/monitors/:id/pause | Mettre la surveillance en pause |
| POST | /api/v1/monitors/:id/resume | Reprendre la surveillance |
Exemple : Créer un moniteur
curl -X POST https://siteguardian.io/api/v1/monitors \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"name": "My Website",
"check_type": "all"
}'
Exemple : Mettre à jour les paramètres du moniteur
curl -X PATCH https://siteguardian.io/api/v1/monitors/:id \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Name",
"ssl_warn_days": 14,
"rt_alert_enabled": true,
"rt_sensitivity": 2.5
}'
C Résultats des vérifications
| Méthode | Point de terminaison | Description |
|---|---|---|
| GET | /api/v1/monitors/:id/checks | Lister les résultats des vérifications (paginés) |
| GET | /api/v1/monitors/:id/uptime | Obtenir le pourcentage de disponibilité |
Paramètres de requête
limit – Résultats par page (1-500, par défaut 50)
offset – Ignorer N résultats (par défaut 0)
check_type – Filtre : http, ssl, domain, email, pagespeed
days – Période de calcul de la disponibilité (1-365, par défaut 30)
A Alertes
| Méthode | Point de terminaison | Description |
|---|---|---|
| GET | /api/v1/alerts | Lister les alertes récentes (paginées) |
| GET | /api/v1/alerts/:id | Obtenir une alerte |
I Incidents
| Méthode | Point de terminaison | Description |
|---|---|---|
| GET | /api/v1/incidents | Lister les incidents (filtre : ?status=open) |
| PATCH | /api/v1/incidents/:id/acknowledge | Acquitter l'incident |
| PATCH | /api/v1/incidents/:id/resolve | Résoudre l'incident |
Exemple : Résoudre un incident
curl -X PATCH https://siteguardian.io/api/v1/incidents/:id/resolve \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{ "note": "Fixed the DNS configuration" }'
K Clés API
| Méthode | Point de terminaison | Description |
|---|---|---|
| POST | /api/v1/api-keys | Générer une nouvelle clé API (renvoyée une seule fois) |
| GET | /api/v1/api-keys | Lister les clés API (préfixe uniquement) |
| DELETE | /api/v1/api-keys/:id | Révoquer une clé API |
Important : La clé API complète n'est renvoyée qu'une seule fois à la création. Conservez-la en lieu sûr – nous ne gardons qu'un hash.
Types d'alertes
| Type | Description |
|---|---|
| down | Le moniteur est hors ligne (erreur HTTP ou délai d'attente) |
| recovered | Le moniteur a récupéré après une indisponibilité |
| ssl_expiring | Le certificat SSL expire bientôt |
| domain_expiring | Le domaine expire bientôt |
| response_time | Anomalie de temps de réponse détectée |
| email_blacklisted | IP inscrite sur une liste noire DNS |
| email_issues | Problème critique de santé e-mail (SPF/DKIM/DMARC) |
Codes de statut HTTP
| Code | Signification |
|---|---|
| 200 | Succès |
| 201 | Ressource créée |
| 400 | Requête incorrecte (entrée invalide) |
| 401 | Non autorisé (clé API manquante ou invalide) |
| 403 | Interdit (limite du forfait atteinte) |
| 404 | Ressource introuvable |
| 429 | Limite de débit dépassée |