Naar hoofdinhoud

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/monitorsAlle monitors opsommen
POST/api/v1/monitorsEen monitor aanmaken
GET/api/v1/monitors/:idMonitorgegevens ophalen
PATCH/api/v1/monitors/:idMonitorinstellingen bijwerken
DELETE/api/v1/monitors/:idMonitor verwijderen
POST/api/v1/monitors/:id/pauseMonitoring pauzeren
POST/api/v1/monitors/:id/resumeMonitoring 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/checksControleresultaten opsommen (gepagineerd)
GET/api/v1/monitors/:id/uptimeUptimepercentage 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/alertsRecente meldingen opsommen (gepagineerd)
GET/api/v1/alerts/:idÉén melding ophalen

I Incidenten

Methode Endpoint Beschrijving
GET/api/v1/incidentsIncidenten opsommen (filter: ?status=open)
PATCH/api/v1/incidents/:id/acknowledgeIncident bevestigen
PATCH/api/v1/incidents/:id/resolveIncident 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-keysNieuwe API-sleutel genereren (sleutel wordt eenmalig geretourneerd)
GET/api/v1/api-keysAPI-sleutels opsommen (alleen prefix)
DELETE/api/v1/api-keys/:idAPI-sleutel intrekken

Belangrijk: De volledige API-sleutel wordt alleen eenmalig geretourneerd bij aanmaak. Bewaar hem veilig – wij bewaren alleen een hash.

Alerttypen

Type Beschrijving
downMonitor is uitgevallen (HTTP-fout of time-out)
recoveredMonitor hersteld na downtime
ssl_expiringSSL-certificaat verloopt binnen de drempelwaarde
domain_expiringDomein verloopt binnen de drempelwaarde
response_timeResponsetijd-afwijking gedetecteerd
email_blacklistedIP staat op DNS-zwarte lijst
email_issuesKritiek e-mailgezondheidsprobleem (SPF/DKIM/DMARC)

HTTP-statuscodes

Code Betekenis
200Succes
201Resource aangemaakt
400Ongeldig verzoek (ongeldige invoer)
401Niet geautoriseerd (ontbrekende of ongeldige API-sleutel)
403Verboden (abonnementslimiet bereikt)
404Resource niet gevonden
429Rate limit overschreden