Documentación de la API
REST API v1 – Disponible en planes Enterprise
Autenticación
Todas las solicitudes API requieren un token Bearer en la Authorization cabecera. Genere claves API desde Configuración.
curl -H "Authorization: Bearer sg_live_your_key_here" \
https://siteguardian.io/api/v1/monitors
Límite de tasa: 120 solicitudes por minuto por clave API. Exceder esto devuelve 429 Too Many Requests.
Formato de respuesta
Todas las respuestas devuelven JSON con una estructura consistente:
// Success { "data": { ... }, "meta": { "timestamp": "2026-03-20T14:30:00+00:00" } } // Paginated { "data": [ ... ], "meta": { "total": 42, "limit": 50, "offset": 0 } } // Error { "detail": "Monitor not found." }
Endpoints
M Monitores
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/v1/monitors | Listar todos los monitores |
| POST | /api/v1/monitors | Crear un monitor |
| GET | /api/v1/monitors/:id | Obtener detalles del monitor |
| PATCH | /api/v1/monitors/:id | Actualizar configuración del monitor |
| DELETE | /api/v1/monitors/:id | Eliminar monitor |
| POST | /api/v1/monitors/:id/pause | Pausar monitorización |
| POST | /api/v1/monitors/:id/resume | Reanudar monitorización |
Ejemplo: Crear un monitor
curl -X POST https://siteguardian.io/api/v1/monitors \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"name": "My Website",
"check_type": "all"
}'
Ejemplo: Actualizar configuración del monitor
curl -X PATCH https://siteguardian.io/api/v1/monitors/:id \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Name",
"ssl_warn_days": 14,
"rt_alert_enabled": true,
"rt_sensitivity": 2.5
}'
C Resultados de verificación
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/v1/monitors/:id/checks | Listar resultados de verificación (paginados) |
| GET | /api/v1/monitors/:id/uptime | Obtener porcentaje de tiempo de actividad |
Parámetros de consulta
limit – Resultados por página (1-500, predeterminado 50)
offset – Saltar N resultados (predeterminado 0)
check_type – Filtrar: http, ssl, domain, email, pagespeed
days – Período de cálculo de tiempo de actividad (1-365, predeterminado 30)
A Alertas
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/v1/alerts | Listar alertas recientes (paginadas) |
| GET | /api/v1/alerts/:id | Obtener una alerta |
I Incidentes
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/v1/incidents | Listar incidentes (filtrar: ?status=open) |
| PATCH | /api/v1/incidents/:id/acknowledge | Reconocer incidente |
| PATCH | /api/v1/incidents/:id/resolve | Resolver incidente |
Ejemplo: Resolver un incidente
curl -X PATCH https://siteguardian.io/api/v1/incidents/:id/resolve \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{ "note": "Fixed the DNS configuration" }'
K Claves API
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/v1/api-keys | Generar nueva clave API (devuelve la clave una vez) |
| GET | /api/v1/api-keys | Listar claves API (solo prefijo) |
| DELETE | /api/v1/api-keys/:id | Revocar clave API |
Importante: La clave API completa solo se devuelve una vez al crearla. Guárdela de forma segura — solo conservamos un hash.
Tipos de alerta
| Tipo | Descripción |
|---|---|
| down | El monitor está caído (error HTTP o tiempo de espera agotado) |
| recovered | El monitor se recuperó de la caída |
| ssl_expiring | El certificado SSL expira dentro del umbral |
| domain_expiring | El dominio expira dentro del umbral |
| response_time | Anomalía de tiempo de respuesta detectada |
| email_blacklisted | IP incluida en lista negra DNS |
| email_issues | Problema crítico de salud del correo (SPF/DKIM/DMARC) |
Códigos de estado HTTP
| Código | Significado |
|---|---|
| 200 | Éxito |
| 201 | Recurso creado |
| 400 | Solicitud incorrecta (entrada no válida) |
| 401 | No autorizado (clave API faltante o no válida) |
| 403 | Prohibido (límite del plan alcanzado) |
| 404 | Recurso no encontrado |
| 429 | Límite de tasa excedido |