Skip to content
Volver al inicio

Documentacion de la API

v2.0.0

API REST para inteligencia de riesgos multi-amenaza en las 52 provincias espanolas. Puntuacion de riesgo en tiempo real con 7 modelos de ML, datos meteorologicos de AEMET y Open-Meteo, e informes de peligros de la comunidad.

URL basehttps://truerisk.cloud/api
AuthBearer JWT
FormatoJSON + SSE

Inicio rapido

Los endpoints publicos de lectura no requieren autenticacion. Obtiene puntuaciones de riesgo para cualquier provincia en segundos.

JavaScript
fetch('https://truerisk.cloud/api/risk/all')
  .then(res => res.json())
  .then(data => {
    // Array of risk scores for all 52 provinces
    console.log(data);
    // → [{ province_code: "28", province_name: "Madrid",
    //       composite_risk: 3.2, hazards: {...} }, ...]
  });

Autenticacion

Los endpoints publicos (riesgo, meteorologia, provincias) no requieren autenticacion. Las operaciones de escritura y datos de usuario requieren un token JWT obtenido via /auth/login o /auth/register. Incluye el token en la cabecera Authorization.

HTTP Header
Authorization: Bearer <your_jwt_token>

Endpoints de la API

Todos los endpoints tienen el prefijo /api. Los parametros entre llaves son variables de ruta (ej: province_code es el codigo INE de 2 digitos, como 28 para Madrid).

Riesgo y analisis

Puntuaciones de riesgo compuesto en tiempo real, previsiones, resumenes generados por IA y explicabilidad de modelos para todas las provincias.

GET/risk/all
GET/risk/{province_code}
GET/risk/{province_code}/forecast
GET/risk/map
GET/risk/{province_code}/explain/attention
GET/analysis/predictions
GET/ai-summary/stream/{province_code}

Meteorologia y medio ambiente

Datos en vivo de multiples fuentes: terremotos, incendios, calidad del aire, embalses, caudalimetros, sequia y monitorizacion de inundaciones.

GET/data/health
GET/data/earthquakes
GET/data/fire-hotspots
GET/data/reservoirs
GET/data/air-quality/{province_code}
GET/data/river-gauges
GET/drought/{province_code}
GET/flash-flood/{province_code}

Geografia y clima

Datos de provincias y municipios, proyecciones climaticas y servicios de localizacion para geocodificacion inversa.

GET/provinces
GET/provinces/{code}
GET/municipalities/{province_code}/risk
GET/climate/projections/{province_code}
GET/location/current-province

Alertas y seguridad

Alertas activas, avisos AEMET en tiempo real via SSE, planificacion de emergencias, rutas de evacuacion y consejos de seguridad.

GET/alerts
GET/alerts/aemet
GET/alerts/stream
POST/alerts
GET/emergency-plan
GET/evacuation/routes/{province_code}
GET/safety/tips

Comunidad e IA

Informes ciudadanos de peligros con votos y verificacion, asistente IA por chat y sugerencias basadas en ubicacion.

GET/community/reports
POST/community/reports
POST/community/reports/{id}/upvote
POST/chat/send
GET/suggestions

Fuentes de datos

Datos demograficos, de vegetacion, sismicos, energeticos y de estaciones meteorologicas para analisis ambiental detallado.

GET/data/demographics/{province_code}
GET/data/vegetation/{province_code}
GET/data/seismic/{province_code}
GET/data/energy
GET/data/weather-stations
GET/data/wildfire-index

Notificaciones

Suscripciones push, alertas por SMS y email, e integracion con bot de Telegram.

POST/push/subscribe
POST/push/unsubscribe
POST/sms/send
POST/email/test

Auth y usuario

Registro de usuarios, autenticacion JWT, gestion de perfil, informes de riesgo de propiedades y estimaciones de seguros.

POST/auth/register
POST/auth/login
POST/auth/refresh
GET/auth/me
PATCH/auth/me
DELETE/auth/me
POST/property/report
GET/insurance/report

Limites de peticiones

Las peticiones a la API estan limitadas para garantizar un uso justo. Los limites se aplican por direccion IP para endpoints publicos y por usuario para endpoints autenticados.

Publico: 60 pet/min
Autenticado: 120 pet/min

Respuestas de error

Todos los errores siguen un formato JSON consistente con tipo de error, detalle legible, codigo de estado HTTP y marca de tiempo ISO 8601.

{
  "error": "ValidationError",
  "detail": "body.province_code: field required",
  "code": 422,
  "timestamp": "2026-03-31T12:00:00+00:00"
}

Explorador interactivo de la API

Prueba los endpoints directamente en el navegador con la documentacion Swagger UI autogenerada.

Abrir Swagger UI