Saltar al contenido principal

Incidentes vía API

nota

El acceso a incidentes vía API está disponible en los planes Pro y Enterprise.

Endpoints

MétodoRutaScopeDescripción
GET/api/v1/incidentsincidents:readListar incidentes
GET/api/v1/incidents/{id}incidents:readDetalle de un incidente

Los incidentes son de solo lectura en la API v1. La apertura y resolución las gestiona automáticamente el motor de incidentes en base al consenso de checks por región.


GET /api/v1/incidents

Parámetros de consulta:

ParámetroTipoDescripción
pageintPágina (default: 1)
per_pageintResultados por página (default: 25, máx: 100)
monitor_idintFiltrar por ID de monitor
resolvedbooltrue = solo resueltos, false = solo abiertos
fromstringISO 8601: incidentes iniciados a partir de esta fecha
tostringISO 8601: incidentes iniciados hasta esta fecha

Ejemplo — incidentes abiertos del monitor 42:

curl -H "Authorization: Bearer <token>" \
"https://back.statusinspector.com/api/v1/incidents?monitor_id=42&resolved=false"

Ejemplo — incidentes de los últimos 7 días:

curl -H "Authorization: Bearer <token>" \
"https://back.statusinspector.com/api/v1/incidents?from=2026-05-06T00:00:00Z&to=2026-05-13T23:59:59Z"

Campos del objeto Incident

CampoTipoDescripción
idstringID del incidente
monitor_idintID del monitor afectado
statusstringopen o resolved
started_atstringISO 8601 UTC — inicio del incidente
resolved_atstring|nullISO 8601 UTC — resolución (null si abierto)
duration_msint|nullDuración en ms (precisión: 1 segundo); null si abierto
failure_countintNúmero de checks fallidos acumulados durante el incidente
last_error_codestring|nullCódigo del último error (p.ej. connection_timeout)
last_error_messagestring|nullMensaje del último error
last_http_codeint|nullÚltimo HTTP code registrado (p.ej. 503)
root_check_idint|nullID del check que abrió el incidente
resolved_check_idint|nullID del check que resolvió el incidente
created_atstringISO 8601 UTC
updated_atstringISO 8601 UTC

Respuesta de ejemplo:

{
"data": {
"id": "1234",
"type": "incident",
"attributes": {
"monitor_id": 42,
"status": "resolved",
"started_at": "2026-05-12T14:30:00Z",
"resolved_at": "2026-05-12T14:47:00Z",
"duration_ms": 1020000,
"failure_count": 17,
"last_error_code": "http_error",
"last_error_message": "HTTP 503 Service Unavailable",
"last_http_code": 503,
"root_check_id": 98001,
"resolved_check_id": 98018,
"created_at": "2026-05-12T14:30:01Z",
"updated_at": "2026-05-12T14:47:02Z"
}
},
"meta": { "request_id": "abc123", "rate_limit": { ... } }
}

Casos de uso habituales

Verificar si un monitor tiene incidente activo:

curl -H "Authorization: Bearer <token>" \
"https://back.statusinspector.com/api/v1/incidents?monitor_id=42&resolved=false&per_page=1"

Si pagination.total > 0, hay un incidente abierto.

Calcular uptime en un período: Recupera todos los incidentes resueltos del período con from/to y suma duration_ms. Divide entre la duración total del período para obtener el downtime %.

Correlacionar con checks: Usa root_check_id para consultar /api/v1/monitors/{id}/checks y obtener el check exacto que desencadenó la caída, con su error_code, http_code y latency_ms.