REST API
De Representational State Transfer (REST) applicatieprogrammeerinterface (API) plaatst statusupdates en opent of sluit incidenten. Ze kan geen gegevens lezen.

API-sleutels
- Een sleutel hoort bij één service en kan alleen voor die service handelen.
- ADMIN-leden maken sleutels aan en trekken ze in op het tabblad API-sleutels.
- De sleutel wordt één keer getoond, direct na het genereren. Er wordt alleen een hash opgeslagen.
- Sleutels verlopen niet. Trek een sleutel in om hem te laten stoppen met werken.
Authenticatie
Stuur de sleutel mee in een van deze twee headers:
Authorization: Bearer <key>
X-Api-Key: <key>
Eindpunten
| Methode en pad | Doel | Succes |
|---|---|---|
POST /api/v1/services/{slug}/status |
Een statusupdate plaatsen. | 201 |
POST /api/v1/services/{slug}/incidents |
Een incident openen met de eerste update. | 201 |
PATCH /api/v1/incidents/{id}/close |
Een incident sluiten. | 200 |
Inhoud van een statusupdate
{
"status": "DEGRADED",
"message": "Markdown text, up to 4096 characters",
"componentId": "optional UUID",
"incidentId": "optional UUID of an open incident"
}
status is een van OK, DEGRADED, CRITICAL, MONITORING, MAINTENANCE, OFFLINE, in elke combinatie van hoofdletters en kleine letters.
Inhoud van een incident
{
"title": "up to 256 characters",
"status": "CRITICAL",
"message": "up to 4096 characters",
"componentId": "optional UUID"
}
Hier moet status de exacte naam in hoofdletters gebruiken.
Fouten
Fouten zijn probleemdocumenten volgens RFC 7807.
| Oorzaak | Statuscode |
|---|---|
| Onbekende service, onbekend incident of onbekend component | 404 |
| Ongeldige invoer, onbekende status, gesloten incident, sleutel van een andere service | 400 |
| Actie niet toegestaan | 403 |
Updates die via de API worden geplaatst, veroorzaken dezelfde e-mails als updates die in de back-office worden geplaatst.