Aller au contenu

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.

GET /api/v1/monitors?page=1&per_page=50

Retourne 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
}
POST /api/v1/monitors
Content-Type: application/json
ChampTypeRequisDescription
namestringNom du monitor (1 à 255 caractères)
urlstringURL à surveiller
typeenumhttp, tcp, ping, dns, grpc, llm, push, group, postgres, mysql, mongodb, smtp, imap, redishttp par défaut
intervalnumberSecondes 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)
regionsstring[]Codes de région, de 1 à 5 — ["fr-dc3"] par défaut. Voir Régions et intervalles
acceptedStatusCodesstring[]ex. ["200-299"]["200-299"] par défaut
basicAuthUser / basicAuthPassstringBasic auth, et le couple d’identifiants des monitors base de données, SMTP, IMAP et Redis. Stockés chiffrés
authConfigobjectAuthentification autre que Basic — voir ci-dessous

Retourne 201 avec { "data": Monitor }.

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.

GET /api/v1/monitors/:id
PATCH /api/v1/monitors/:id
DELETE /api/v1/monitors/:id

PATCH accepte les mêmes champs que la création (tous optionnels). DELETE retourne { "data": { "deleted": true } }.

GET /api/v1/monitors/:id/checks?page=1&per_page=50
GET /api/v1/monitors/:id/uptime?range=24h

404 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.

PlanMonitors maxIntervalle minRégions par monitor
Free5300s1
Pro2060s3
Max8030s5
EnterpriseIllimité30s5

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.