API Monitors
URL de base : https://api.okstatus.eu/api/v1/monitors — chaque requête nécessite un header Authorization: Bearer oks_live_..., voir Authentification.
Lister les monitors
Section intitulée « Lister les monitors »GET /api/v1/monitors?page=1&per_page=50Retourne une liste paginée limitée à votre organisation.
Réponse
{ "monitors": [ { "id": "...", "name": "...", "url": "...", "type": "http", "interval": 60, "status": "up" } ], "total": 12, "page": 1, "perPage": 50}Créer un monitor
Section intitulée « Créer un monitor »POST /api/v1/monitorsContent-Type: application/json| Champ | Type | Requis | Description |
|---|---|---|---|
name | string | ✅ | Nom du monitor (1 à 255 caractères) |
url | string | ✅ | URL à surveiller |
type | enum | http, tcp, ping, dns, grpc, llm, push, group, postgres, mysql, mongodb, smtp, imap, redis — http par défaut | |
interval | number | Secondes entre les vérifications, min 30 — 60 par défaut. Le plancher de votre plan s’applique quand même (300 s en Free, 60 s en Pro) | |
regions | string[] | Codes de région, de 1 à 5 — ["fr-dc3"] par défaut. Voir Régions et intervalles | |
acceptedStatusCodes | string[] | ex. ["200-299"] — ["200-299"] par défaut | |
basicAuthUser / basicAuthPass | string | Basic auth, et le couple d’identifiants des monitors base de données, SMTP, IMAP et Redis. Stockés chiffrés | |
authConfig | object | Authentification autre que Basic — voir ci-dessous |
Retourne 201 avec { "data": Monitor }.
Authentification du point d’accès surveillé
Section intitulée « Authentification du point d’accès surveillé »authConfig porte une méthode, discriminée par type (référence complète : Authentification) :
{ "type": "bearer", "token": "…" }{ "type": "apikey", "in": "header", "name": "X-API-Key", "value": "…" }{ "type": "apikey", "in": "query", "name": "api_key", "value": "…" }{ "type": "cookie", "cookie": "session=…; csrf=…" }{ "type": "oauth2", "tokenUrl": "https://login.example.com/token", "clientId": "…", "clientSecret": "…", "scope": "…", "audience": "…", "authStyle": "basic" }{ "type": "mtls", "cert": "-----BEGIN CERTIFICATE-----…", "key": "-----BEGIN PRIVATE KEY-----…", "ca": "…" }Relire un monitor renvoie la méthode et ses réglages non sensibles, chaque secret étant remplacé par "***". Renvoyer ce masque dans un PATCH conserve la valeur enregistrée — c’est ce qui permet de faire un aller-retour GET puis PATCH sans effacer les identifiants. "authConfig": null supprime l’authentification.
Récupérer / modifier / supprimer un monitor
Section intitulée « Récupérer / modifier / supprimer un monitor »GET /api/v1/monitors/:idPATCH /api/v1/monitors/:idDELETE /api/v1/monitors/:idPATCH accepte les mêmes champs que la création (tous optionnels). DELETE retourne { "data": { "deleted": true } }.
Résultats de checks et uptime
Section intitulée « Résultats de checks et uptime »GET /api/v1/monitors/:id/checks?page=1&per_page=50GET /api/v1/monitors/:id/uptime?range=24h404 NOT_FOUND si le monitor n’existe pas dans votre organisation ; 4xx/5xx UPSTREAM_ERROR si la requête vers le moteur de monitoring d’OKStatus échoue elle-même. Voir Authentification pour le format d’erreur commun et les limites de débit.
Limites par plan
Section intitulée « Limites par plan »| Plan | Monitors max | Intervalle min | Régions par monitor |
|---|---|---|---|
| Free | 5 | 300s | 1 |
| Pro | 20 | 60s | 3 |
| Max | 80 | 30s | 5 |
| Enterprise | Illimité | 30s | 5 |
Les limites s’appliquent à la création : une organisation déjà au-dessus d’une limite abaissée garde ce qu’elle a, elle ne peut simplement plus en ajouter.