API-documentatie
REST API v1 – Beschikbaar op Enterprise-abonnementen
Authenticatie
Alle API-verzoeken vereisen een Bearer-token in de Authorization header. Genereer API-sleutels via Instellingen.
curl -H "Authorization: Bearer sg_live_your_key_here" \
https://siteguardian.io/api/v1/monitors
Rate limit: 120 verzoeken per minuut per API-sleutel. Bij overschrijding volgt 429 Too Many Requests.
Response-formaat
Alle responses retourneren JSON met een consistente structuur:
// 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." }
Endpoints
M Monitors
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /api/v1/monitors | Alle monitors opsommen |
| POST | /api/v1/monitors | Een monitor aanmaken |
| GET | /api/v1/monitors/:id | Monitorgegevens ophalen |
| PATCH | /api/v1/monitors/:id | Monitorinstellingen bijwerken |
| DELETE | /api/v1/monitors/:id | Monitor verwijderen |
| POST | /api/v1/monitors/:id/pause | Monitoring pauzeren |
| POST | /api/v1/monitors/:id/resume | Monitoring hervatten |
Voorbeeld: een monitor aanmaken
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"
}'
Voorbeeld: monitorinstellingen bijwerken
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 Controleresultaten
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /api/v1/monitors/:id/checks | Controleresultaten opsommen (gepagineerd) |
| GET | /api/v1/monitors/:id/uptime | Uptimepercentage ophalen |
Query-parameters
limit – Resultaten per pagina (1-500, standaard 50)
offset – N resultaten overslaan (standaard 0)
check_type – Filter: http, ssl, domain, email, pagespeed
days – Berekeningsperiode uptime (1-365, standaard 30)
A Meldingen
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /api/v1/alerts | Recente meldingen opsommen (gepagineerd) |
| GET | /api/v1/alerts/:id | Één melding ophalen |
I Incidenten
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /api/v1/incidents | Incidenten opsommen (filter: ?status=open) |
| PATCH | /api/v1/incidents/:id/acknowledge | Incident bevestigen |
| PATCH | /api/v1/incidents/:id/resolve | Incident oplossen |
Voorbeeld: een incident oplossen
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 API-sleutels
| Methode | Endpoint | Beschrijving |
|---|---|---|
| POST | /api/v1/api-keys | Nieuwe API-sleutel genereren (sleutel wordt eenmalig geretourneerd) |
| GET | /api/v1/api-keys | API-sleutels opsommen (alleen prefix) |
| DELETE | /api/v1/api-keys/:id | API-sleutel intrekken |
Belangrijk: De volledige API-sleutel wordt alleen eenmalig geretourneerd bij aanmaak. Bewaar hem veilig – wij bewaren alleen een hash.
Alerttypen
| Type | Beschrijving |
|---|---|
| down | Monitor is uitgevallen (HTTP-fout of time-out) |
| recovered | Monitor hersteld na downtime |
| ssl_expiring | SSL-certificaat verloopt binnen de drempelwaarde |
| domain_expiring | Domein verloopt binnen de drempelwaarde |
| response_time | Responsetijd-afwijking gedetecteerd |
| email_blacklisted | IP staat op DNS-zwarte lijst |
| email_issues | Kritiek e-mailgezondheidsprobleem (SPF/DKIM/DMARC) |
HTTP-statuscodes
| Code | Betekenis |
|---|---|
| 200 | Succes |
| 201 | Resource aangemaakt |
| 400 | Ongeldig verzoek (ongeldige invoer) |
| 401 | Niet geautoriseerd (ontbrekende of ongeldige API-sleutel) |
| 403 | Verboden (abonnementslimiet bereikt) |
| 404 | Resource niet gevonden |
| 429 | Rate limit overschreden |