Saltar al contenido principal

Referencia de endpoints

nota

La API pública v1 está disponible en los planes Pro y Enterprise. Los tokens generados en cuentas del plan gratuito recibirán 403 plan_feature_disabled en todas las peticiones.

Base URL

https://back.statusinspector.com/api/v1

Todas las peticiones deben incluir Authorization: Bearer <token> y Content-Type: application/json en escritura.


Monitores

MétodoRutaScope requerido201200404422
GET/monitorsmonitors:read
GET/monitors/{id}monitors:read
POST/monitorsmonitors:write
PATCH/monitors/{id}monitors:write
DELETE/monitors/{id}monitors:write

Filtros GET /monitors: status, type, q (búsqueda), page, per_page

Tipos de monitor: http · tcp · dns · ssl · heartbeat · ping


Checks (historial de checks)

MétodoRutaScope requeridoDescripción
GET/monitors/{id}/checkschecks:readHistorial de checks de un monitor

Filtros: status (up/down/degraded), from, to, page, per_page

Campos devueltos: id, monitor_id, status, checked_at, latency_ms, http_code, error_code, error_message, degraded_reason, resolved_ip, ssl_not_after, dns_answer, synthetic_trace_json


Incidentes

MétodoRutaScope requeridoDescripción
GET/incidentsincidents:readListar incidentes
GET/incidents/{id}incidents:readDetalle de incidente

Filtros: monitor_id, resolved (bool), from, to, page, per_page

Campos devueltos: id, monitor_id, status, started_at, resolved_at, duration_ms, failure_count, last_error_code, last_error_message, last_http_code, root_check_id, resolved_check_id, created_at, updated_at


Páginas de estado

MétodoRutaScope requerido201200404422
GET/status-pagesstatus_pages:read
GET/status-pages/{id}status_pages:read
POST/status-pagesstatus_pages:write
PATCH/status-pages/{id}status_pages:write
DELETE/status-pages/{id}status_pages:write

Filtros GET /status-pages: q (búsqueda por nombre), page, per_page

Campos devueltos: id, name, slug, headline, description, is_public, is_enabled, is_token_protected, access_token, public_theme, created_at, updated_at

Campos aceptados en POST/PATCH: name, slug (auto-generado desde name en POST si se omite), headline, description, is_public, is_enabled, is_token_protected, access_token, public_theme (light/dark)


Paginación

Todos los listados usan paginación por página:

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

Respuesta:

{
"data": [ ... ],
"pagination": {
"page": 2,
"per_page": 50,
"total": 143,
"total_pages": 3
},
"meta": { ... }
}

Límite máximo de per_page: 100 (configurable en sistema).


Formato de fechas

Todas las fechas se expresan en ISO 8601 UTC, por ejemplo: 2026-05-13T14:30:00Z.

Los filtros from y to aceptan cualquier formato que PHP reconozca como fecha válida.


Formato de errores de validación

En respuestas 422 validation_error, el campo details contiene los errores por atributo:

{
"error": {
"code": "validation_error",
"message": "No se pudo crear el monitor.",
"details": {
"target": ["Introduce una URL válida."],
"interval_sec": ["Interval sec debe ser un número entero."]
}
}
}

Scopes disponibles

ScopeRecursos
monitors:readGET monitores
monitors:writePOST · PATCH · DELETE monitores
checks:readGET checks por monitor
incidents:readGET incidentes
status_pages:readGET páginas de estado
status_pages:writePOST · PATCH · DELETE páginas de estado

Límites de rate

PlanPeticiones por minuto
Pro120
Enterprise300

Consulta los headers de respuesta para ver el estado en tiempo real:

HeaderDescripción
X-RateLimit-LimitPeticiones permitidas por minuto
X-RateLimit-RemainingPeticiones restantes en la ventana actual
X-RateLimit-ResetEpoch UTC cuando se reinicia el contador
Retry-AfterSegundos a esperar (solo en respuesta 429)