Referencia API
Base URL : https://cronbeacon.com/api/v1
Autenticación : Authorization: Bearer cb_your_token
Endpoints
POST /api/v1/ingest/events
Enviar un evento de monitoring (inicio, éxito, error).
Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
job_key | string | ✅ | Identificador único del job (slug). Se crea automáticamente si no existe. |
event | string | ✅ | Tipo de evento: started, succeeded, failed, completed |
environment | string | Entorno (prod, staging, dev). Por defecto: prod | |
duration_ms | integer | Duración de ejecución en milisegundos | |
processed_count | integer | Número de elementos procesados | |
error_count | integer | Número de errores encontrados | |
message | string | Texto libre (detalle del error, resumen...) | |
event_id | string | ID único para deduplicar eventos (idempotencia) |
Tipos de eventos
started— El job ha iniciadosucceeded— El job ha tenido éxitofailed— El job ha falladocompleted— El job ha terminado (sin indicación de éxito/error)
Respuesta
{
"status": "ok",
"run_id": "01924f8a-...",
"job_id": "01924f8a-...",
"event": "succeeded",
"created": true
}
GET /api/v1/jobs
Listar todas las tareas del tenant.
POST /api/v1/jobs
Crear una nueva tarea.
Cuerpo de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre de la tarea (el slug se genera automáticamente) |
type | string | cron, batch, worker |
environment | string | prod, staging, dev |
cron_expression | string | Expresión cron estándar (5 campos) |
expected_cadence_minutes | integer | Alternativa a cron: intervalo en minutos |
grace_period_seconds | integer | Periodo de gracia en segundos antes de declarar como perdida (por defecto: 300) |
severity | string | low, medium, high, critical |
GET /api/health
Comprobar que el servicio es operativo. No requiere autenticación.
POST /api/v1/alerts/{id}/ack
Confirmar una alerta (establece el estado en 'acked').
POST /api/v1/alerts/{id}/mute
Silenciar una alerta. Parámetro: minutes (duración del silencio).
Rate Limiting
Las solicitudes están limitadas por plan: Free 30/min, Pro 120/min, Business 300/min. Cuando se excede, la API devuelve un código de estado 429.