Saltar al contenido principal

Referencia de Endpoints

Esta página lista todos los endpoints de la API REST en la plataforma NetRecon, agrupados por categoría de servicio. Todos los endpoints requieren autenticación con token JWT Bearer a menos que se indique lo contrario. Consulte la Descripción General de la API para detalles de autenticación y limitación de tasa.

URL Base: https://probe.netreconapp.com/api/


Endpoints de la Sonda

Servidos por el backend Go ejecutándose en el dispositivo sonda (Orange Pi R2S, Raspberry Pi o mini PC x86_64).

Estado de Salud

MétodoRutaAuthDescripción
GET/api/healthNoVerificación de salud de la sonda. Devuelve {"status": "ok", "version": "1.0.0"}.

Escaneo

MétodoRutaDescripción
POST/api/scan/discoverIniciar descubrimiento de hosts ARP en la subred configurada.
POST/api/scan/portsIniciar escaneo de puertos contra hosts descubiertos.
GET/api/scan/statusObtener estado actual del escaneo (inactivo, ejecutando, completado).

Dispositivos

MétodoRutaDescripción
GET/api/devicesListar todos los dispositivos descubiertos. Soporta paginación (?page=&per_page=).
GET/api/devices/:macObtener detalles de un solo dispositivo por dirección MAC.
PUT/api/devices/:mac/noteActualizar la nota del usuario en un dispositivo. Cuerpo: {"note": "..."}.

Línea Base

MétodoRutaDescripción
GET/api/baselineListar todas las líneas base de red guardadas.
POST/api/baselineCrear una nueva instantánea de línea base desde la lista actual de dispositivos.
GET/api/baseline/:id/diffComparar una línea base con el estado actual de la red.

Vecinos (CDP/LLDP)

MétodoRutaDescripción
GET/api/neighborsListar vecinos CDP/LLDP descubiertos.
POST/api/neighbors/startIniciar el listener de descubrimiento de vecinos.

Respaldo de Configuración (local de la sonda)

MétodoRutaDescripción
GET/api/config/targetsListar dispositivos objetivo de respaldo configurados.
POST/api/config/targetsAgregar un nuevo dispositivo objetivo de respaldo.
POST/api/config/targets/:id/checkActivar una verificación inmediata de configuración para un objetivo.

Captura PCAP

MétodoRutaDescripción
POST/api/pcap/startIniciar captura de paquetes. Cuerpo: {"interface": "eth0", "filter": "tcp port 80"}.
POST/api/pcap/stopDetener la captura de paquetes en ejecución.
GET/api/pcap/filesListar archivos de captura PCAP disponibles.
GET/api/pcap/download/:idDescargar un archivo PCAP por ID. Devuelve application/octet-stream.

IDS (Suricata)

MétodoRutaDescripción
GET/api/ids/statusObtener estado del servicio IDS (ejecutando, detenido, conteo de reglas).
POST/api/ids/startIniciar monitoreo de Suricata IDS.
POST/api/ids/stopDetener monitoreo IDS.
GET/api/ids/alertsListar alertas IDS. Soporta filtro temporal ?since=24h.

Escaneo de Vulnerabilidades (Nuclei)

MétodoRutaDescripción
POST/api/vuln/scanIniciar escaneo de vulnerabilidades contra objetivos especificados.
POST/api/vuln/stopDetener el escaneo de vulnerabilidades en ejecución.
GET/api/vuln/resultsObtener resultados del escaneo de vulnerabilidades.
GET/api/vuln/statusObtener estado del escáner de vulnerabilidades.

Honeypot

MétodoRutaDescripción
GET/api/honeypot/statusObtener estado del servicio honeypot.
POST/api/honeypot/startIniciar el servicio honeypot.
POST/api/honeypot/stopDetener el servicio honeypot.
GET/api/honeypot/hitsListar eventos de interacción con el honeypot.

Detección Rogue

MétodoRutaDescripción
GET/api/rogue/statusObtener estado del servicio de detección rogue.
POST/api/rogue/startIniciar detección de DHCP/ARP rogue.
POST/api/rogue/stopDetener detección rogue.
GET/api/rogue/alertsListar alertas de DHCP rogue y ARP spoofing.

Monitor de Red

MétodoRutaDescripción
POST/api/monitor/targetsAgregar un objetivo de monitoreo (IP o nombre de host).
GET/api/monitor/targetsListar objetivos de monitoreo configurados.
POST/api/monitor/startIniciar monitoreo de red.
POST/api/monitor/stopDetener monitoreo de red.
GET/api/monitor/latencyObtener mediciones de latencia para objetivos monitoreados.
GET/api/monitor/packetlossObtener datos de pérdida de paquetes para objetivos monitoreados.
GET/api/monitor/statusObtener estado del servicio de monitoreo.

VPN (WireGuard)

MétodoRutaDescripción
POST/api/vpn/setupConfigurar parámetros de WireGuard VPN.
GET/api/vpn/statusObtener estado de la conexión VPN.
POST/api/vpn/startIniciar el túnel VPN.
POST/api/vpn/stopDetener el túnel VPN.
GET/api/vpn/configDescargar la configuración de WireGuard.

Sinkhole DNS

MétodoRutaDescripción
GET/api/dns/statusObtener estado del servicio de sinkhole DNS.
POST/api/dns/startIniciar el sinkhole DNS.
POST/api/dns/stopDetener el sinkhole DNS.
GET/api/dns/threatsListar entradas de amenazas DNS bloqueadas.

Salud del Sistema

MétodoRutaDescripción
GET/api/system/healthSalud detallada del sistema (CPU, RAM, disco, temperatura).
GET/api/system/historyPuntos de datos históricos de salud del sistema.
GET/api/system/alertsListar alertas de umbral de salud del sistema.
POST/api/system/thresholdsConfigurar umbrales de alerta de salud (% CPU, % RAM, % disco).

Respaldo y Restauración

MétodoRutaDescripción
POST/api/backup/createCrear un respaldo completo de la sonda (configuración + base de datos).
GET/api/backup/listListar archivos de respaldo disponibles.
GET/api/backup/download/:idDescargar un archivo de respaldo. Devuelve application/octet-stream.
POST/api/backup/restoreRestaurar la sonda desde un archivo de respaldo.

Tickets

MétodoRutaDescripción
GET/api/ticketing/configObtener configuración actual de integración de tickets.
POST/api/ticketing/configEstablecer configuración de tickets (ServiceNow, Jira, URL de webhook).
POST/api/ticketing/testEnviar un ticket de prueba para validar la integración.
POST/api/ticketing/createCrear un ticket desde una alerta o evento.
GET/api/ticketing/historyListar tickets creados anteriormente.

WebSocket

MétodoRutaDescripción
GET/ws/eventsConexión WebSocket para eventos en tiempo real de la sonda. Pase el token vía consulta: ?token=<jwt>.

Tipos de Evento WebSocket

EventoDescripción
host_foundNuevo dispositivo descubierto
port_foundPuerto abierto detectado en un dispositivo
scan_completeEscaneo de red finalizado
neighbor_discoveredVecino CDP/LLDP encontrado
config_changedConfiguración de dispositivo cambiada
baseline_diff_alertDesviación de línea base de red detectada
ids_alertRegla IDS activada
honeypot_hitInteracción con honeypot detectada
rogue_detectedActividad DHCP o ARP rogue
pcap_readyArchivo PCAP listo para descarga
vuln_foundVulnerabilidad descubierta
dns_threatAmenaza DNS bloqueada
probe_health_alertUmbral de recursos de la sonda excedido
errorEvento de error

Endpoints del API Gateway

Servidos por el API Gateway FastAPI (puerto 8000). Maneja autenticación, gestión de usuarios, RBAC y enrutamiento proxy a servicios backend.

Autenticación

MétodoRutaDescripción
POST/api/auth/loginAutenticar con usuario/contraseña, recibir un token JWT.
POST/api/auth/refreshRenovar un token JWT que está por expirar.

Usuarios

MétodoRutaDescripción
GET/api/usersListar usuarios en la organización.
POST/api/usersCrear una nueva cuenta de usuario.
GET/api/users/:idObtener detalles del usuario.
PUT/api/users/:idActualizar un usuario.
DELETE/api/users/:idEliminar un usuario.

RBAC (Control de Acceso Basado en Roles)

MétodoRutaDescripción
GET/api/rbac/rolesListar todos los roles definidos.
POST/api/rbac/rolesCrear un rol personalizado con permisos específicos.
PUT/api/rbac/roles/:idActualizar permisos de un rol.
DELETE/api/rbac/roles/:idEliminar un rol.
GET/api/rbac/permissionsListar todos los permisos disponibles.

Claves de API

MétodoRutaDescripción
GET/api/keysListar claves de API para la organización.
POST/api/keysCrear una nueva clave de API de larga duración.
DELETE/api/keys/:idRevocar una clave de API.

Lista de IPs Permitidas

MétodoRutaDescripción
GET/api/ip-allowlistListar rangos de IP permitidos.
POST/api/ip-allowlistAgregar una IP o rango CIDR a la lista de permitidos.
DELETE/api/ip-allowlist/:idEliminar un rango de IP de la lista de permitidos.

Monitoreo (Proxy Prometheus)

MétodoRutaDescripción
GET/api/monitoring/metricsProxy al endpoint de métricas de Prometheus.
GET/api/monitoring/queryProxy de consulta PromQL a Prometheus.

Oxidized (Proxy de Respaldo de Configuración)

MétodoRutaDescripción
GET/api/oxidized/nodesListar nodos de red gestionados por Oxidized.
GET/api/oxidized/nodes/:nameObtener historial de configuración para un nodo.
POST/api/oxidized/nodesAgregar un nodo a la gestión de Oxidized.

Configuración de Vault

MétodoRutaDescripción
GET/api/vault/configObtener configuración de integración de vault.
POST/api/vault/configActualizar configuración de integración de vault.

Endpoints del Servicio IPAM

Servicio de Gestión de Direcciones IP (puerto 8009). Todas las rutas están prefijadas con /api/v1/ipam.

Prefijos (Subredes)

MétodoRutaDescripción
GET/api/v1/ipam/prefixesListar todos los prefijos/subredes gestionados.
POST/api/v1/ipam/prefixesCrear un nuevo prefijo. Cuerpo: prefix (notación CIDR), description, site, status, opcional vlan_id.
GET/api/v1/ipam/prefixes/:idObtener un solo prefijo con porcentaje de utilización recalculado.
PUT/api/v1/ipam/prefixes/:idActualizar un prefijo.
DELETE/api/v1/ipam/prefixes/:idEliminar un prefijo. Devuelve 204 No Content.
GET/api/v1/ipam/prefixes/:id/availableListar IPs no asignadas en el prefijo. Limitado a 256 resultados.
POST/api/v1/ipam/prefixes/:id/next-availableAsignar la siguiente IP libre en el prefijo. Devuelve el nuevo registro de dirección.

Direcciones

MétodoRutaDescripción
GET/api/v1/ipam/addressesListar direcciones. Filtros: ?prefix_id=, ?status=, ?vendor=, ?search=. Máximo 1000 resultados.
POST/api/v1/ipam/addressesCrear un nuevo registro de dirección IP.
GET/api/v1/ipam/addresses/:idObtener una sola dirección por UUID.
PUT/api/v1/ipam/addresses/:idActualizar un registro de dirección.
DELETE/api/v1/ipam/addresses/:idEliminar un registro de dirección. Devuelve 204 No Content.
POST/api/v1/ipam/addresses/bulk-importUpsert masivo de direcciones por IP. Los registros existentes se actualizan, los nuevos se crean.

VLANs

MétodoRutaDescripción
GET/api/v1/ipam/vlansListar todas las VLANs, ordenadas por ID de VLAN.
POST/api/v1/ipam/vlansCrear un nuevo registro de VLAN. Cuerpo: vlan_id, name, description, status.
PUT/api/v1/ipam/vlans/:idActualizar una VLAN.
DELETE/api/v1/ipam/vlans/:idEliminar una VLAN. Devuelve 204 No Content.

Analíticas

MétodoRutaDescripción
GET/api/v1/ipam/statsEstadísticas generales de IPAM: total de prefijos, total de direcciones, utilización promedio, conteo de conflictos.
GET/api/v1/ipam/utilizationDesglose de utilización por prefijo con conteos de direcciones.
GET/api/v1/ipam/conflictsEncontrar asignaciones en conflicto (MACs duplicadas con diferentes IPs).

Importación / Exportación

MétodoRutaDescripción
POST/api/v1/ipam/import/scanImportar dispositivos desde un payload de escaneo NetRecon. Upsert por IP con coincidencia automática de prefijos.
GET/api/v1/ipam/export/csvExportar todas las direcciones como CSV. Devuelve text/csv con encabezado Content-Disposition.
GET/api/v1/ipam/export/jsonExportar todos los datos IPAM (prefijos, direcciones, VLANs) como JSON.

Endpoints del Servicio CMod

Gestión de Configuración bajo Demanda (puerto 8008). Proporciona acceso SSH y consola serial a dispositivos de red. Todas las rutas están prefijadas con /api/v1/cmod.

Sesiones

MétodoRutaDescripción
POST/api/v1/cmod/connectAbrir una nueva sesión SSH o serial. Cuerpo: host, device_type, username, password, opcionales port, serial_port. Devuelve información de sesión con session_id.
POST/api/v1/cmod/disconnectCerrar una sesión. Consulta: ?session_id=.
GET/api/v1/cmod/sessionsListar todas las sesiones activas.
GET/api/v1/cmod/sessions/:session_idObtener detalles de la sesión y registro completo de comandos.
DELETE/api/v1/cmod/sessions/:session_idTerminar una sesión.

Comandos

MétodoRutaDescripción
POST/api/v1/cmod/send-commandEnviar un solo comando. Cuerpo: session_id, command, opcionales expect_string, read_timeout.
POST/api/v1/cmod/send-batchEnviar múltiples comandos secuencialmente. Cuerpo: session_id, commands[], opcional delay_factor.

Operaciones de Configuración

MétodoRutaDescripción
POST/api/v1/cmod/backupObtener la configuración en ejecución de un dispositivo. Selecciona automáticamente el comando correcto por fabricante (Cisco IOS/NX-OS/XR, Huawei, Juniper, Arista, HP).
POST/api/v1/cmod/rollbackEnviar un fragmento de configuración al dispositivo en modo de configuración. Cuerpo: session_id, config (cadena multilínea).

Plantillas

MétodoRutaDescripción
GET/api/v1/cmod/templatesListar plantillas de comandos. Filtros: ?vendor=cisco_ios, ?category=backup. Plantillas pre-cargadas para Cisco IOS, Huawei y Juniper JunOS.
POST/api/v1/cmod/templatesCrear una plantilla de comandos personalizada. Cuerpo: name, vendor, category, commands[], description.

Endpoints del Agent Registry

Servicio de gestión de agentes (puerto 8006). Maneja inscripción, heartbeats, inventario y despliegue para agentes Windows, macOS y Linux.

Ciclo de Vida del Agente

MétodoRutaDescripción
POST/agents/enrollInscribir un nuevo agente usando un token de despliegue. Cuerpo: deployment_token, hostname, os_type, os_version, arch, agent_version.
POST/agents/heartbeatHeartbeat del agente. Encabezados: X-Agent-ID, X-Session-Key.
POST/agents/inventoryEnviar inventario de hardware/software. Encabezados: X-Agent-ID, X-Session-Key.
GET/agentsListar todos los agentes en la organización. Encabezado: X-Org-ID.
GET/agents/:agent_idObtener detalles completos del agente incluyendo especificaciones de hardware y estado de garantía.
DELETE/agents/:agent_idEliminar un agente del registro.

Tokens de Despliegue

MétodoRutaDescripción
POST/agents/tokensCrear un token de despliegue. Encabezados: X-Org-ID, X-User-ID. Cuerpo: expires_in_hours, max_uses, label, opcionales site_id, metadata. Devuelve cadena del token y comandos de instalación específicos por plataforma.
GET/agents/tokensListar tokens de despliegue para la organización. Encabezado: X-Org-ID.
DELETE/agents/tokens/:token_idRevocar un token de despliegue.

Generador de Paquetes de Despliegue

MétodoRutaDescripción
POST/agents/deploy/generateGenerar artefactos de despliegue específicos por plataforma. Cuerpo: platform (windows, linux, macos, ios, android), method (msi, powershell, sccm, intune, gpo, pkg, brew, jamf, mdm, deb, rpm, bash, docker, qr, email, mdm_app, managed_play), role. Devuelve token de inscripción, comandos de instalación, scripts o contenido de manifiesto.
GET/agents/deploy/quotaObtener uso de cuota de dispositivos para la organización. Encabezado: X-Org-ID.
GET/agents/deploy/platformsListar todas las plataformas soportadas y sus métodos de despliegue disponibles. No requiere autenticación.

Conexión Remota

MétodoRutaDescripción
POST/agents/:agent_id/remote/requestSolicitar una nueva sesión remota (RDP, SSH, VNC, ADB) a un agente inscrito. Encabezado: X-User-ID. Cuerpo: session_type, opcionales credential_id, timeout_hours.
GET/agents/:agent_id/remote/statusObtener estado de preparación remota (estado en línea, IP Headscale, tipos de sesión disponibles).
POST/agents/:agent_id/remote/endFinalizar la sesión remota activa de un agente. Encabezado: X-User-ID.
GET/remote/sessionsListar sesiones remotas para la organización. Encabezado: X-Org-ID. Consulta: ?active_only=true (predeterminado).
POST/agents/:agent_id/remote/readyCallback del agente cuando el servicio remoto está preparado. Encabezados: X-Agent-ID, X-Session-Key.
POST/remote/cleanupExpirar sesiones remotas obsoletas. Destinado para uso interno de programador/cron.

Endpoints del Servicio Diplomat

Servicio de clasificación de correo electrónico y análisis de registros (puerto 8010). Todas las rutas están prefijadas con /api/v1/diplomat.

Clasificación

MétodoRutaDescripción
POST/api/v1/diplomat/classifyClasificar texto de entrada (ticket, alerta, correo) en una categoría y nivel de prioridad.
POST/api/v1/diplomat/summarizeGenerar un resumen del texto proporcionado.
POST/api/v1/diplomat/translateTraducir texto a un idioma objetivo especificado.
POST/api/v1/diplomat/analyze-logAnalizar un fragmento de registro y extraer eventos clave, errores y patrones.

Pipeline de Correo Electrónico

MétodoRutaDescripción
GET/api/v1/diplomat/emails/statsObtener estadísticas de procesamiento de correo (recibidos, clasificados, respondidos).
GET/api/v1/diplomat/emails/recentListar correos procesados recientemente.

Salud

MétodoRutaAuthDescripción
GET/api/v1/diplomat/healthNoVerificación de salud del servicio Diplomat.

Endpoints de Salud de Servicios

Cada microservicio expone un endpoint /health para monitoreo interno y verificaciones de balanceador de carga.

ServicioURLPuerto
API Gateway/health8000
Vault Server/health8001
License Server/health8002
Email Service/health8003
Notification Service/health8004
Update Server/health8005
Agent Registry/health8006
Warranty Service/health8007
CMod Service/health8008
IPAM Service/health8009
Diplomat Service/health8010

Soporte

Para preguntas o problemas relacionados con la API, contacte a [email protected].