> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Monitorización AML continua: reanálisis diario

> Didit reanaliza cada día a tus usuarios verificados en listas AML y avisa por webhook de nuevas coincidencias y cambios de estado. Desde $0.07 al año.

La monitorización continua es un componente esencial de un programa AML completo. Garantiza que la diligencia debida de tus clientes se mantenga actualizada y te ayuda a identificar los posibles riesgos que surjan después de la incorporación inicial. Esta función se incluye automáticamente en todas las sesiones en las que se ha realizado una comprobación AML y no requiere pasos de integración adicionales.

![Panel de monitorización AML continua de Didit con reanálisis diario y alertas por webhook](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/aml-continuous-monitoring.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=8cf8c4ecef0f78953423a598defd2b2b)

### Cómo funciona

Nuestro sistema de monitorización continua comprueba constantemente a tus usuarios verificados en distintas listas de vigilancia, listas de sanciones y fuentes de noticias negativas. Este es el proceso en detalle:

1. **Comprobaciones diarias automáticas**:
   * Nuestro sistema ejecuta comprobaciones diarias automáticas en todas las sesiones aprobadas anteriormente
   * Cada comprobación vuelve a analizar al usuario en nuestra completa base de datos de listas de vigilancia y de sanciones
   * El sistema compara cualquier hallazgo nuevo con los umbrales AML que hayas configurado

2. **Actualizaciones basadas en umbrales**:
   * Si se encuentran nuevas coincidencias que superan tu umbral de revisión configurado, el estado de la sesión cambia a "En revisión"
   * Si las nuevas coincidencias superan tu umbral de rechazo, el estado de la sesión cambia automáticamente a "Rechazado"
   * Estos umbrales son los mismos que configuraste en tus [flujos](https://docs.didit.me/console/workflows.md)

3. **Notificaciones en tiempo real**:
   * Cuando se produce un cambio de estado, tu aplicación recibe una notificación por webhook
   * El payload del webhook incluye el estado actualizado y la información detallada de las nuevas coincidencias AML
   * Estas notificaciones siguen el mismo formato que nuestro [sistema de webhooks](https://docs.didit.me/integration/webhooks.md) estándar

4. **Actualizaciones en la Business Console**:
   * Todos los cambios se reflejan de inmediato en tu Business Console
   * Tu equipo de cumplimiento puede inspeccionar las nuevas coincidencias AML, revisar los hallazgos detallados y tomar las medidas oportunas
   * La consola conserva un registro de auditoría completo de todas las actividades de monitorización y los cambios de estado

### Habilitar la monitorización para usuarios y empresas

Puedes activar o desactivar la monitorización continua de usuarios y empresas completos directamente desde la consola, incluidos los usuarios que nunca pasaron por una comprobación AML, como los usuarios importados.

1. Abre **Usuarios** (o **Empresas**) en tu Business Console, selecciona los perfiles que quieres monitorizar y haz clic en **Monitoreo de AML**.
2. El cuadro de diálogo muestra una estimación de coste antes de que se ejecute nada: cuántos perfiles están seleccionados, cuántos necesitan un nuevo análisis AML, el coste único del análisis y el coste anual de la monitorización.
3. Haz clic en **Habilitar monitoreo**. Las selecciones pequeñas se completan al instante; las más grandes se ejecutan en segundo plano mientras el cuadro de diálogo muestra el progreso en vivo.
4. Cuando termina la ejecución, el cuadro de diálogo desglosa el resultado por perfil: habilitado, analizado y habilitado, ya habilitado u omitido con el motivo (por ejemplo, un perfil sin el nombre completo, la fecha de nacimiento y el país necesarios para el análisis).

Algunos detalles que conviene conocer:

* **Los perfiles sin análisis AML se analizan primero.** Didit crea para ellos una nueva verificación AML (visible en la pestaña **Verificaciones** del perfil), que se factura como un análisis AML normal. Después se habilita la monitorización en ese análisis.
* **Un análisis monitorizado por perfil.** Al habilitarla se mantiene exactamente un análisis AML monitorizado por usuario o empresa, así que una persona que se verificó varias veces solo se monitoriza (y se factura) una vez. Al deshabilitarla se desactiva la monitorización en todos los análisis del perfil.
* **Las listas muestran la monitorización de un vistazo.** Tanto la lista de **Usuarios** como la de **Empresas** incluyen una columna **Monitoreo continuo**; pasa el cursor por encima para ver la próxima fecha de facturación anual.
* **Seleccionar todo funciona con tus filtros.** Con todas las filas seleccionadas, la acción se aplica a tu vista filtrada actual, no solo a la página cargada.

### Habilitar la monitorización mediante la API

La misma operación está disponible para tu backend con tu clave de API, así que nunca tienes que volver a analizar un perfil ni abrir la consola para cambiar su monitorización:

* [`POST /v3/users/aml-monitoring/`](https://docs.didit.me/management-api/aml-monitoring/toggle-users) para usuarios
* [`POST /v3/businesses/aml-monitoring/`](https://docs.didit.me/management-api/aml-monitoring/toggle-businesses) para empresas
* [`GET /v3/aml-monitoring/jobs/{job_id}/`](https://docs.didit.me/management-api/aml-monitoring/get-job) para consultar el estado de un trabajo

Ambos endpoints de activación aceptan una lista de tus propios identificadores (`vendor_data_list`) y/o de IDs de Didit (`didit_internal_id_list`), hasta 1000 por llamada, y siguen exactamente las reglas de la consola: un análisis monitorizado por perfil, los perfiles sin análisis se analizan primero y al deshabilitarla se desactiva la monitorización en todos los análisis del perfil.

```bash theme={null}
# 1. Preview the cost. Nothing is written.
curl -X POST https://verification.didit.me/v3/users/aml-monitoring/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"is_enabled": true, "estimate_only": true, "vendor_data_list": ["user-123", "user-456"]}'

# 2. Enable monitoring. 20 profiles or fewer complete inline (200);
#    larger selections return 202 and a job_id to poll.
curl -X POST https://verification.didit.me/v3/users/aml-monitoring/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"is_enabled": true, "vendor_data_list": ["user-123", "user-456"]}'
```

La respuesta incluye el mismo desglose que muestra el cuadro de diálogo de la consola, más una entrada de `results` por perfil con su resultado: `enabled`, `screened_and_enabled`, `already_enabled`, `disabled` o un motivo de omisión como `skipped_no_identity_data`. Los identificadores que no coinciden con nada se devuelven en `unmatched`. Activar o desactivar la monitorización no emite ningún webhook propio; una vez activada, los reanálisis disparan los eventos habituales `status.updated` y `data.updated`.

### Demostrar que la monitorización se ejecutó

Las alertas, las entradas de actividad y los webhooks anteriores se disparan todos ante un **cambio**. Un sujeto analizado a diario durante un año sin nuevas coincidencias no genera ninguno, así que "sin novedades" y "no se ejecutó nada" parecen idénticos, y esa no es una respuesta que resista una auditoría. Tres superficies registran las propias ejecuciones.

**1. La fecha del último análisis, en el informe AML.** `last_ongoing_screening_at` avanza con cada ejecución completada, haya cambiado algo o no, en las decisiones de sesión de `/v2/` y `/v3/` y en el informe AML independiente. `last_ongoing_screening_datasets_updated_at`, a su lado, es la actualización más reciente de los conjuntos de datos AML que el proveedor notificó para esa ejecución. Ninguno se estima nunca: `null` significa "nunca reanalizado" y "ninguna fecha de conjunto de datos notificada" respectivamente, no "desconocido, así que aquí tienes una verosímil". No interpretes `next_ongoing_monitoring_bill_date` como una fecha de análisis: es una fecha de facturación.

**2. El historial de análisis, por sujeto.** `GET /v1/session/{session_id}/aml-screening-history/` devuelve todas las ejecuciones completadas de la comprobación AML de esa sesión, de la más reciente a la más antigua, incluidas las ejecuciones cuyo resultado fue `NO_CHANGE`. Añade `?node_id=` cuando un flujo en grafo tiene más de un nodo AML.

```bash theme={null}
curl https://verification.didit.me/v1/session/SESSION_ID/aml-screening-history/ \
  -H "x-api-key: YOUR_API_KEY"
```

```json theme={null}
{
  "count": 2,
  "results": [
    {
      "uuid": "0d1c...",
      "completed_at": "2026-09-12T04:03:11Z",
      "started_at": "2026-09-12T04:00:02Z",
      "outcome": "NO_CHANGE",
      "trigger": "ONGOING_MONITORING",
      "status": "Approved",
      "score": 0,
      "total_hits": 0,
      "dataset_freshness": null
    }
  ]
}
```

| Campo | Significado |
| - | - |
| `outcome` | `NO_CHANGE`: la ejecución se completó y el resultado no cambió. `CHANGED`: la ejecución se completó y la puntuación, el estado o las coincidencias cambiaron. `FAILED`: el proveedor no devolvió una respuesta utilizable para este sujeto, así que no se analizó nada y no se cambió nada. Una laguna de cobertura se registra, no se oculta. |
| `completed_at` / `started_at` | Cuándo terminó el análisis de este sujeto y cuándo empezó el lote al que pertenecía. |
| `status` / `score` / `total_hits` | El estado en que la ejecución dejó la comprobación. |
| `dataset_freshness` | Qué tan actualizadas estaban las listas del proveedor en esa ejecución, o `null` cuando no había fechas de conjuntos de datos disponibles. |

**3. La evidencia exportable.** `GET /v1/session/{session_id}/aml-screening-history/export/` transmite el mismo historial como archivo CSV, con una fila por análisis completado, la fecha de actualización del conjunto de datos por familia de fuentes cuando el proveedor la notificó y una celda vacía cuando no lo hizo. Ese archivo es lo que un equipo de cumplimiento entrega a un auditor. La Business Console muestra la misma lista y la misma exportación junto al resultado AML, así que los revisores no necesitan acceso a la API para generarla.

> [!NOTE]
>
> **Límites de disponibilidad, dichos con claridad.** El historial se registra desde el momento en que se lanzó esta función; los análisis anteriores no se reconstruyen y simplemente no aparecen. Las ejecuciones se conservan durante la ventana de retención configurada (dos años por defecto). La actualización de los conjuntos de datos depende de que el proveedor publique fechas de conjuntos de datos para el entorno en el que estés: donde no lo hace, todos los campos de conjuntos de datos muestran `null` y `GET /v1/aml/dataset-freshness/` informa `availability: "not_configured"`. Una fecha ausente nunca se sustituye por otra.

### Ventajas de la monitorización continua

1. **Cumplimiento continuo**: garantiza el cumplimiento permanente de la normativa AML/KYC sin ninguna configuración adicional.
2. **Mitigación de riesgos**: identifica y aborda con rapidez los riesgos emergentes mediante la monitorización automática.
3. **Eficiencia operativa**: automatiza los procesos manuales de reanálisis que consumen mucho tiempo, sin trabajo de integración adicional.
4. **Diligencia debida reforzada**: mantiene actualizados los perfiles de tus clientes de forma automática.
5. **Apoyo regulatorio**: demuestra fácilmente ante los reguladores tus esfuerzos de cumplimiento continuo.
6. **Integración sin intervención**: disfruta de la monitorización continua sin ningún desarrollo adicional.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.