> ## 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.

# API de análisis AML: sanciones y PEP

> Didit analiza a tus usuarios en 1,300+ listas de sanciones, PEP y vigilancia en tiempo real. $0.20 por llamada, doble puntuación de riesgo y sin contratos.

El análisis AML de Didit comprueba a una persona en tiempo real con más de 1,300+ fuentes globales de sanciones, PEP y listas de vigilancia, y con noticias negativas, y devuelve cada posible coincidencia con dos puntuaciones: una puntuación de coincidencia que indica la probabilidad de que sea la misma persona y una puntuación de riesgo que indica lo arriesgada que es la entidad listada.

Prompt de integración del análisis AML
        Copy prompt to clipboard



      
      

\<pre>

\````# Goal
Integrate Didit AML Screening (PEP, sanctions, warnings, adverse media) into your app. Pick ONE mode.

\# Mode A — Session-based
Run AML as a step inside a verification session. Decisions, ongoing monitoring, and audit history are bound to the session and surfaced in the Business Console.

1\. Add the AML feature to the workflow (Business Console or POST /v3/workflows/). Configure thresholds: aml_match_score_threshold, aml_score_approve_threshold, aml_score_review_threshold, and the weights aml_name_weight + aml_dob_weight + aml_country_weight (must sum to 100).
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Fetch the decision — GET /v3/session/{sessionId}/decision/ or subscribe to session.status.updated.

Decision surface: `aml_screenings[]` array on the decision payload.

\# Mode B — Standalone API (server-to-server)
Use when you want a one-shot AML check decoupled from a hosted KYC flow.

POST https://verification.didit.me/v3/aml/
x-api-key: YOUR_API_KEY
Content-Type: application/json

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/aml/' \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"full_name": "Javier Ejemplo Modelo",
"entity_type": "person",
"date_of_birth": "1974-01-01",
"nationality": "ES",
"include_adverse_media": true,
"vendor_data": "user-1234"
}'
\```
Returns: { request_id, aml: { status, screening_id, hits: [...], warnings: [...] } }.

\# Important policy rules
\- aml_name_weight + aml_dob_weight + aml_country_weight must equal exactly 100 — request rejected with HTTP 400 otherwise.
\- include_adverse_media=true increases latency to ~25s; use a client timeout of at least 45s.
\- include_ongoing_monitoring=true keeps the entity under daily re-screening at **$0.07 per year per screened entity** (billing alert) and requires save_api_request=true (HTTP 400 otherwise). Disable from the Business Console.

\# Status enum (per aml_screenings[].status / aml.status)
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.AML)
warnings[] risk codes include:
POSSIBLE_MATCH_FOUND, MATCH_FOUND, HIGH_RISK_COUNTRY, ADVERSE_MEDIA_HIT, SANCTIONED_ENTITY, PEP_MATCH, ONGOING_MONITORING_ENABLED.
Full catalogue: /core-technology/aml-screening/warnings-aml-screening.

\# Failure modes to handle
\- HTTP 400 — weights don't sum to 100; ongoing_monitoring without save_api_request.
\- HTTP 403 — out of credits.
\- status="Declined" — at least one hit's risk_score ≥ aml_score_review_threshold and crossed the decline boundary.
\- status="In Review" — risk_score between approve and review thresholds; route to manual queue.
\- Adverse-media timeout — the upstream provider was slow; the result returns without adverse-media hits (still actionable).

\# See also
\- Canonical schema: /reference/data-models#aml-screening
\- Per-feature report: /core-technology/aml-screening/report-aml-screening
\- Risk catalogue: /core-technology/aml-screening/warnings-aml-screening
\- Ongoing monitoring: /core-technology/aml-screening/continuous-monitoring-aml-screening
\- Full integration playbook: /integration/integration-prompt````

\</pre>



      
      

Paste into

La lección de la Academy sobre cómo leer un resultado de verificación llega al análisis AML en el minuto 8:40: sanciones, PEP y noticias negativas en una sesión real.[Análisis AML: sanciones, PEP y noticias negativas — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=520\&rel=0\&playsinline=1)![Tabla de fuentes de listas de vigilancia del análisis AML de Didit, con las listas de sanciones de OFAC, la UE y la ONU y listas de PEP](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/aml-list-table.jpeg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=b254abf5bb564018e15588ef7c56f92e)## Conceptos clave: puntuación de coincidencia frente a puntuación de riesgoDidit usa un **sistema de dos puntuaciones** para el análisis AML:### Puntuación de coincidencia (confianza de identidad)- **Pregunta:** ¿esta coincidencia es la misma persona que estamos analizando?
- **Factores:** similitud del nombre, fecha de nacimiento, país o nacionalidad, número de documento
- **Finalidad:** clasifica la coincidencia como **falso positivo** o **sin revisar** (posible coincidencia)
- **Umbral:** umbral de puntuación de coincidencia (por defecto: 93)### Puntuación de riesgo (nivel de riesgo de la entidad)- **Pregunta:** ¿qué nivel de riesgo tiene esta entidad si la coincidencia es real?
- **Factores:** riesgo del país, categoría (PEP, sanciones, etc.), antecedentes penales
- **Finalidad:** determina el **estado AML final** (aprobado, en revisión o rechazado)
- **Umbrales:** umbral de aprobación (por defecto: 80) y umbral de revisión (por defecto: 100)```
┌─────────────────────────────────────────────────────────────────────────────┐
│                           AML SCREENING FLOW                                │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  STEP 1: Screen against watchlists                                          │
│     └── Returns potential matches (match score ≥ 75% included)              │
│                                                                             │
│  STEP 2: For each match, calculate MATCH SCORE                              │
│     └── Match Score = (Name × W1) + (DOB × W2) + (Country × W3)             │
│                                                                             │
│  STEP 3: Classify match by match score                                      │
│     ├── Match Score < 93 → FALSE POSITIVE (excluded from risk)              │
│     └── Match Score ≥ 93 → UNREVIEWED (included in risk)                    │
│                                                                             │
│  STEP 4: For unreviewed matches, calculate RISK SCORE                       │
│     └── Risk Score = (Country × 30%) + (Category × 50%) + (Criminal × 20%)  │
│                                                                             │
│  STEP 5: Determine AML STATUS (highest risk score among non-FP matches)     │
│     ├── Risk Score < 86 → APPROVED                                          │
│     ├── 86 ≤ Risk Score ≤ 100 → IN REVIEW                                   │
│     └── Risk Score > 100 → DECLINED                                         │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```## Estados de revisión de coincidenciasA cada coincidencia AML se le asigna un estado de revisión según su puntuación de coincidencia:| Estado | Descripción | Cuándo se asigna |
| - | - | - |
| **Falso positivo** | Es probable que la coincidencia NO sea la misma persona | Puntuación de coincidencia \< umbral (asignación automática) |
| **Sin revisar** | La coincidencia es una posible coincidencia que requiere revisión | Puntuación de coincidencia ≥ umbral (asignación automática) |
| **Coincidencia confirmada** | Se ha verificado que la coincidencia es la misma persona | La establece manualmente un oficial de cumplimiento |
| **Inconcluyente** | No se puede determinar si la coincidencia es la misma persona | La establece manualmente un oficial de cumplimiento |> [!NOTE]
>
> ### **Consejo:** puedes cambiar el estado de revisión de una coincidencia en la Consola, desde la visión general de AML o haciendo clic en una coincidencia concreta para ver sus detalles.## Funciones principales### 1. Extracción de datos completa- **Extracción precisa**: extrae datos de la información que aporta el usuario o de documentos de identidad con tecnología OCR avanzada.
- **Lógica difusa**: tiene en cuenta variaciones y errores ortográficos en los nombres para capturar los datos de forma completa.### 2. Amplia cobertura de listas de vigilanciaAnaliza varias categorías, entre ellas:- **Listas de sanciones**: de organismos gubernamentales e internacionales.
- **Personas expuestas políticamente (PEP)**: personas con funciones públicas destacadas.
- **Antecedentes penales**: incluidas bases de datos penales globales y locales.
- **Menciones en noticias negativas**: artículos y reportes sobre delitos financieros y otros riesgos.
- **Listas de vigilancia personalizadas**: configurables según los requisitos específicos de cada cliente.### 3. Algoritmos de coincidencia avanzados- **Coincidencia difusa**: detecta pequeñas variaciones en nombres o datos para lograr una coincidencia precisa.
- **Varios datos de contraste**: usa nombre, fecha de nacimiento, nacionalidad y otros identificadores para un análisis exhaustivo.
- **Lógica de Golden Key**: la coincidencia del número de documento puede imponerse a las puntuaciones para una identificación definitiva.### 4. Evaluación de riesgo con dos puntuacionesCada coincidencia recibe DOS puntuaciones:| Puntuación | Finalidad | Clasificación |
| - | - | - |
| **Puntuación de coincidencia** (0-100) | ¿Es la misma persona? | Falso positivo o sin revisar |
| **Puntuación de riesgo** (0-100) | ¿Qué nivel de riesgo tiene esta entidad? | Determina el estado AML final |**Estado de revisión de la coincidencia (según la puntuación de coincidencia):**- **Falso positivo**: puntuación de coincidencia por debajo del umbral; es probable que NO sea la misma persona
- **Sin revisar**: puntuación de coincidencia igual o superior al umbral; requiere revisión**Estado AML final (según la puntuación de riesgo más alta entre las coincidencias que no son falsos positivos):**- **Aprobado**: todas las coincidencias sin revisar tienen puntuaciones de riesgo bajas
- **En revisión**: al menos una coincidencia sin revisar tiene una puntuación de riesgo media-alta
- **Rechazado**: al menos una coincidencia sin revisar tiene una puntuación de riesgo muy alta### 5. Análisis detallado de noticias negativasAnaliza una amplia gama de categorías de noticias negativas, entre ellas:- **Delitos financieros**: blanqueo de capitales, malversación y más.
- **Delitos violentos**: agresión, homicidio y delitos relacionados.
- **Terrorismo**: participación en actividades terroristas o apoyo a ellas.
- **Narcóticos**: tráfico de drogas y delitos relacionados.
- **Fraude**: distintos tipos de fraude y prácticas engañosas.
- **Infracciones regulatorias**: incumplimientos de requisitos normativos.### 6. Parámetros de análisis personalizables- **Sensibilidad ajustable**: configura la sensibilidad del análisis según la tolerancia al riesgo de tu organización.
- **Listas de vigilancia personalizables**: elige qué listas y categorías incluir en el análisis para cumplir requisitos específicos.### Umbrales configurablesPuedes personalizar los niveles de seguridad con distintos umbrales:**Configuración de la puntuación de coincidencia:**| Ajuste | Por defecto | Descripción |
| - | - | - |
| Umbral de puntuación de coincidencia | 93 | Las coincidencias por debajo son falsos positivos y las que están en el umbral o por encima, sin revisar |
| Peso del nombre | 60 | Peso del nombre en la puntuación de coincidencia |
| Peso de la fecha de nacimiento | 25 | Peso de la fecha de nacimiento en la puntuación de coincidencia |
| Peso del país | 15 | Peso del país en la puntuación de coincidencia |**Umbrales de la puntuación de riesgo (estado final):**| Ajuste | Por defecto | Descripción |
| - | - | - |
| Umbral de aprobación | 80 | Puntuaciones de riesgo por debajo = aprobado |
| Umbral de revisión | 100 | Puntuaciones de riesgo por encima = rechazado; entre ambos = en revisión |![Umbrales de la puntuación de riesgo AML de Didit para los estados aprobado, en revisión y rechazado](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/aml-risk-score.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=297acc5d98dcd0f038597c4f2d953f46)> [!NOTE]
>
> Estos umbrales se pueden ajustar según tu tolerancia al riesgo y tus requisitos de seguridad.## Cómo funcionaNuestro proceso de análisis AML identifica con eficiencia los posibles riesgos y minimiza los retrasos para los usuarios legítimos.**1. Extracción de datos**El sistema extrae la información relevante de los datos aportados por el usuario o de los documentos de identidad subidos.| Entrada | Método |
| - | - |
| **Documentos de identidad** | Tecnología OCR avanzada para una extracción de datos precisa |
| **Datos aportados por el usuario** | Entrada directa (nombre, fecha de nacimiento, nacionalidad, número de documento) |
| **Lógica difusa** | Tiene en cuenta variaciones y errores ortográficos en los nombres |**2. Análisis en listas de vigilancia**Los datos extraídos se contrastan en tiempo real con **más de 1,300+ listas de vigilancia y bases de datos globales**:- **Listas de sanciones**: organismos gubernamentales e internacionales (OFAC, UE, ONU, etc.)
- **Personas expuestas políticamente (PEP)**: personas con funciones públicas destacadas
- **Antecedentes penales**: bases de datos penales globales y locales
- **Noticias negativas**: artículos y reportes sobre delitos financieros
- **Listas de vigilancia personalizadas**: configurables según tus requisitos**3. Cálculo de la puntuación de coincidencia**Para cada posible coincidencia, el sistema calcula una **puntuación de confianza de identidad**: la probabilidad de que sea la misma persona.| Factor | Peso por defecto | Descripción |
| - | :-: | - |
| **Similitud del nombre** | 60% | Coincidencia difusa que tiene en cuenta las variaciones |
| **Fecha de nacimiento** | 25% | Comparación exacta o parcial de la fecha de nacimiento |
| **País o nacionalidad** | 15% | Comparación del país de origen |- Puntuación de coincidencia **por debajo del umbral** (por defecto: 93) → se clasifica como **falso positivo**
- Puntuación de coincidencia **igual o superior al umbral** → se clasifica como **sin revisar** (posible coincidencia)
- **Golden Key**: la coincidencia del número de documento puede elevarla al 100% para una identificación definitiva**4. Cálculo de la puntuación de riesgo**Para las coincidencias que no son falsos positivos, el sistema calcula el **nivel de riesgo** de la entidad:| Factor | Peso | Descripción |
| - | :-: | - |
| **Categoría** | 50% | Nivel de PEP, tipo de sanción, gravedad penal |
| **Riesgo del país** | 30% | Calificación de riesgo de los países asociados |
| **Antecedentes penales** | 20% | Existencia y gravedad de antecedentes penales |**5. Determinación del estado final**Según la **puntuación de riesgo más alta** entre todas las coincidencias que no son falsos positivos:| Puntuación de riesgo | Estado | Acción |
| :-: | - | - |
| Por debajo del umbral de aprobación | **Aprobado** | Se aprueba automáticamente, sin riesgo creíble |
| Entre los umbrales | **En revisión** | Se marca para revisión manual de cumplimiento |
| Por encima del umbral de revisión | **Rechazado** | Riesgo alto, rechazo automático |Si **todas** las coincidencias son falsos positivos, el resultado es **aprobado** (no se encontraron coincidencias creíbles).**6. Generación del resultado**Se genera un informe detallado con total transparencia:- La **puntuación de coincidencia** y la **puntuación de riesgo** de cada coincidencia, con su desglose
- La clasificación de la coincidencia (falso positivo, sin revisar o confirmada)
- La base de datos de origen y los detalles de categoría de cada resultado
- Resultados entregados por **respuesta de la API**, **webhook** o **Business Console**
- Decisión automática según los umbrales de puntuación de riesgo que configures## Referencia de datos de un resultado AMLCada resultado AML devuelto en la respuesta de la API contiene información detallada sobre la entidad coincidente. A continuación se describen los campos clave y sus posibles valores.### Categorías de conjuntos de datosEl campo `datasets` de cada resultado indica en qué categorías de bases de datos de cumplimiento se encontró la entidad. Valores posibles:| Valor | Descripción |
| - | - |
| `PEP` | Persona expuesta políticamente (general) |
| `PEP Level 1` | Jefes de Estado, políticos de alto rango, jueces del tribunal supremo |
| `PEP Level 2` | Miembros del parlamento, embajadores, mandos militares |
| `PEP Level 3` | Cargos de gobiernos locales, funcionarios de nivel medio |
| `PEP Level 4` | RCA (familiares y allegados) de personas PEP |
| `Sanctions` | Listas de sanciones internacionales y nacionales (OFAC, UE, ONU, etc.) |
| `Adverse Media` | Noticias y reportes negativos relacionados con delitos financieros |
| `Warnings and Regulatory Enforcement` | Advertencias regulatorias, acciones sancionadoras y alertas de cumplimiento |
| `Fitness and Probity` | Registros de idoneidad y honorabilidad de los reguladores financieros |
| `SIP` | Listas de personas de especial interés |
| `SIE` | Listas de entidades de especial interés |
| `Insolvency` | Registros de insolvencia y quiebra |### Coincidencias de sancionesEl arreglo `sanction_matches` contiene los detalles de cada lista de sanciones en la que se encontró la entidad. Campos clave:| Campo | Tipo | Descripción |
| - | - | - |
| `list_name` | `string[]` | Nombre(s) de la(s) lista(s) de sanciones |
| `matched_name` | `string` | Nombre tal como aparece en la lista de sanciones |
| `description` | `string` | Descripción de la entrada de sanción |
| `reason` | `string` | Motivo, en texto libre, por el que se sancionó a la entidad. No es un enum: los valores proceden directamente de la autoridad sancionadora y describen los motivos concretos de la inclusión en la lista (por ejemplo, "Executive Order 13224 (Terrorism)", "Support for actions undermining Ukraine's sovereignty"). |
| `legal_basis` | `string[]` | Base legal de la sanción |
| `sanction_program` | `string[]` | Programa(s) de sanciones en los que figura la entidad |
| `sanctioning_authority` | `string[]` | Autoridad que impuso la sanción |
| `listed_on` | `string[]` | Fecha(s) en que se incluyó a la entidad en la lista |
| `source_url` | `string` | URL de la fuente |### Coincidencias de advertenciasEl arreglo `warning_matches` contiene los detalles de las coincidencias de listas de advertencias, sanciones regulatorias y similares. El campo `additional_data` puede incluir un arreglo `data.case_details` con información estructurada del caso.#### Tipos de caso de advertenciaEl campo `case_type` dentro de `additional_data.data.case_details[]` describe la naturaleza del caso de advertencia. Valores conocidos:| Valor | Descripción |
| - | - |
| `Accusation` | Acusación o cargo formal |
| `Arrest` | Registro de detención |
| `Bribery` | Caso relacionado con sobornos |
| `Criminal` | Caso penal general |
| `Fraud` | Caso relacionado con fraude |
| `Illegal Fundraising` | Actividad de recaudación ilegal de fondos |
| `Non-conviction Terror` | Inclusión por terrorismo sin condena |
| `Proclaimed Offender` | Infractor declarado oficialmente |
| `Regulatory Enforcement` | Acción sancionadora regulatoria |
| `Terrorism` | Caso relacionado con terrorismo |
| `Terrorism-related` | Relacionado con actividades terroristas |
| `Terrorism-related listing` | Incluido en una lista por vínculos con el terrorismo |


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