{"openapi":"3.1.0","info":{"title":"WatcherWolf API","version":"1.0.0","description":"API de monitorización web. Disponible en planes Agency y Business. Auth: Authorization: Bearer ak_wolf_…"},"servers":[{"url":"https://watcherwolf.com/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Monitor":{"type":"object","description":"Monitor de WatcherWolf"},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"}}}}}}},"paths":{"/monitors":{"get":{"summary":"Listar monitores (filtros: status, active, limit, offset)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}},"post":{"summary":"Crear monitor (scope write). Campos: url*, name, check_interval, keyword, notify_email","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/monitors/{id}":{"get":{"summary":"Obtener un monitor con stats 24h/7d","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}},"patch":{"summary":"Actualizar monitor (scope write)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}},"delete":{"summary":"Eliminar monitor y su historial (scope write, irreversible)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/monitors/{id}/checks":{"get":{"summary":"Últimos checks del monitor (limit ≤ 500)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/monitors/{id}/pause":{"post":{"summary":"Pausar el monitor (scope write)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/monitors/{id}/resume":{"post":{"summary":"Reanudar el monitor (scope write)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/status":{"get":{"summary":"Resumen de la cuenta: monitores up/down, uptime 24h, incidentes activos","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/incidents":{"get":{"summary":"Incidentes (filtros: status, monitor_id, days, limit)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/pagespeed":{"get":{"summary":"Resultados PageSpeed recientes (filtros: monitor_id, limit)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/ssl":{"get":{"summary":"Estado de certificados SSL de todos los monitores","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/domains":{"get":{"summary":"Expiración de dominios de todos los monitores","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}},"/guardian":{"get":{"summary":"Anomalías detectadas por el sistema Guardián, con PageSpeed incluido (days, limit, include_events=1 para ver también los bajones puntuales de PageSpeed)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"API key inválida"},"403":{"description":"Plan sin API o scope insuficiente"},"429":{"description":"Rate limit"}}}}}}