Référence API

Base URL : https://cronbeacon.com/api/v1

Authentification : Authorization: Bearer cb_your_token

Endpoints

POST /api/v1/ingest/events

Envoyer un event de monitoring (démarrage, succès, échec).

Corps de la requête
ChampTypeRequisDescription
job_keystringIdentifiant unique du job (slug). Créé automatiquement s'il n'existe pas.
eventstringType d'event : started, succeeded, failed, completed
environmentstringEnvironnement (prod, staging, dev). Défaut : prod
duration_msintegerDurée d'exécution en millisecondes
processed_countintegerNombre d'éléments traités
error_countintegerNombre d'erreurs rencontrées
messagestringMessage libre (détail erreur, résumé...)
event_idstringID unique pour dédupliquer les events (idempotence)
Types d'events
Réponse
{
  "status": "ok",
  "run_id": "01924f8a-...",
  "job_id": "01924f8a-...",
  "event": "succeeded",
  "created": true
}

GET /api/v1/jobs

Lister tous les jobs du tenant.

POST /api/v1/jobs

Créer un nouveau job.

Corps de la requête
ChampTypeDescription
namestringNom du job (le slug est généré automatiquement)
typestringcron, batch, worker
environmentstringprod, staging, dev
cron_expressionstringExpression cron standard (5 champs)
expected_cadence_minutesintegerAlternative au cron : intervalle en minutes
grace_period_secondsintegerMarge en secondes avant de déclarer un missed (défaut: 300)
severitystringlow, medium, high, critical

GET /api/health

Vérifier que le service est opérationnel. Aucune authentification requise.

POST /api/v1/alerts/{id}/ack

Acquitter une alerte (passe en statut 'acked').

POST /api/v1/alerts/{id}/mute

Mettre une alerte en sourdine. Paramètre : minutes (durée du mute).

Rate limiting

Les requêtes sont limitées par plan : Free 30/min, Pro 120/min, Business 300/min. En cas de dépassement, l'API retourne un code 429.