# Vistas del informe

> Los informes del control de rastreadores IA por vista, sus filtros y dónde leerlos en el panel, la CLI, la API y MCP.

Los informes leen el tráfico clasificado de los últimos 30 días. Cualquier rol puede leerlos, limitados a la organización del token.

## Vistas

| Vista | Panel | API (`GET …/zones/{zone}/ai-agents/…`) | Enseña |
|---|---|---|---|
| `overview` | **Resumen** | `report`, `overview`, `summary` | Peticiones por categoría y por decisión (aplicadas y «se habría aplicado»), totales, peticiones permitidas y fallidas, principales operadores y cifras de la trampa. |
| — | **Métricas** | `metrics` | Series por `group_by` (`crawler`, `category`, `operator`, `host`, `content_type`) y `status`; `format=csv`. |
| `crawlers` | **Seguridad** | `crawlers` | Por bot: peticiones, verificadas, suplantadas, ráfagas y acción efectiva; `inactive=1` añade los bots del catálogo que no se han visto. |
| `spoofers` | **Seguridad** | `spoofers?bot=<id>` | IP y ASN que dijeron ser ese bot. `bot` es obligatorio. |
| `bursts` | **Seguridad** | `bursts` | Clientes con `agent_burst`, con la explicación, los bots y las detecciones. |
| `optimization` | **Optimización** | `optimization` | Páginas que pide la IA y demanda de páginas que fallan (sondeo de secretos incluido); `format=csv`. |
| `signals` | **Señales** | `signals` | `robots.txt` por nombre (peticiones, Content-Signal) y violaciones. |
| `traps` | **Trampas** | `traps` | Inserciones de la trampa en el tiempo, quién la siguió y número de ráfagas. |
| `endpoints` | **Endpoints de IA** | `endpoints` | Tus endpoints de IA: inyecciones, límites, bloqueos y detecciones. |
| `events` | Lista de eventos de cada página | `events` | Eventos destacados, del más reciente al más antiguo (`kind`, `cursor`, `limit` hasta 500). |

La API tiene además `timeseries` (series por categoría, `step`), `agents` (bots vistos) y `top` (principales IP, huellas TLS y ASN).

## Filtros

| Filtro | Valores |
|---|---|
| `range` | `24h` (por defecto), `7d` o `30d`. O `since` y `until` (RFC 3339, como mucho 31 días). Siempre se calcula el periodo anterior de la misma duración para comparar. |
| `host` | Un nombre de la zona. |
| `category` | Una [categoría](https://developers.openwaf.dev/es/ai-crawl-control/categories/). |
| `bot` | Un identificador de bot del catálogo. |
| `operator` | Un operador de bots. |

## Tipos de evento

`spoofed`, `trap_hit`, `injection`, `cost_limit`, `automation`, `wba_invalid`, `tarpit`, `blocked`, `secret_probe`, `robots_violation` y `agent_burst`. Un evento de ráfaga se explica en `detections`, con etiquetas como `distinct_endpoints=23/10s`, `burst.id_walk` o `burst.pagination`. Los fragmentos y las rutas vienen de las peticiones: se enseñan como texto, nunca como HTML.

## Leerlos

**Panel**

Dominio → **Control de rastreadores IA**: **Resumen**, **Métricas**, **Seguridad**, **Optimización**, **Señales**, **Trampas** y **Endpoints de IA**. Los filtros (periodo, nombre de host, categoría, rastreador, operador) se aplican a toda la página; pulsa un evento para ver sus detalles.
**CLI**

```sh
openwaf-cloud ctl ai report example.com --range 7d
openwaf-cloud ctl ai report example.com --view crawlers --host www.example.com
openwaf-cloud ctl ai report example.com --view spoofers --bot googlebot
openwaf-cloud ctl ai report example.com --view events --kind spoofed,trap_hit --limit 100 --json
```
**API**

```sh
curl -sS "https://dash.openwaf.dev/v1/orgs/$ORG/zones/example.com/ai-agents/crawlers?range=7d" \
  -H "Authorization: Bearer $OPENWAF_TOKEN"
```
**MCP**

`ai_agents_report` con `view` (`overview` por defecto), `range`, `host`, `bot`, `category`, y `kind` y `limit` para los eventos.
