> ## 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álise AML: sanções e PEP

> A Didit analisa usuários em tempo real contra 1,300+ bases de sanções, PEP e listas de vigilância. $0.20 por chamada, sistema de duas pontuações.

A Análise AML da Didit verifica uma pessoa em tempo real contra 1,300+ fontes globais de sanções, PEP e listas de vigilância, além de mídia negativa, e retorna cada possível correspondência com duas pontuações: uma pontuação de correspondência, que indica a probabilidade de a correspondência ser a mesma pessoa, e uma pontuação de risco, que indica o quão arriscada é a entidade listada.

Prompt de integração da Análise 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

A aula da Academy sobre como ler o resultado de uma verificação chega à análise AML em 8:40: sanções, PEPs e mídia negativa em uma sessão real.[Análise AML: sanções, PEPs e mídia negativa — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=520\&rel=0\&playsinline=1)![Tabela de fontes de listas de vigilância da análise AML da Didit, incluindo listas de sanções da OFAC, da UE e da ONU e 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)## Conceitos-chave: pontuação de correspondência vs. pontuação de riscoA Didit usa um **sistema de duas pontuações** na análise AML:### Pontuação de correspondência (confiança na identidade)- **Pergunta:** esta correspondência é a mesma pessoa que estamos analisando?
- **Fatores:** similaridade de nome, data de nascimento, país/nacionalidade, número do documento
- **Finalidade:** classifica a correspondência como **Falso Positivo** ou **Não revisado** (correspondência possível)
- **Limite:** Limite da pontuação de correspondência (padrão: 93)### Pontuação de risco (nível de risco da entidade)- **Pergunta:** qual é o risco desta entidade se for uma correspondência verdadeira?
- **Fatores:** risco do país, categoria (PEP/Sanções/etc.), antecedentes criminais
- **Finalidade:** determina o **status AML final** (Aprovado/Em revisão/Recusado)
- **Limites:** Limite de aprovação (padrão: 80) e Limite de revisão (padrão: 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                                         │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```## Status de revisão das correspondênciasCada correspondência AML recebe um status de revisão com base na sua pontuação de correspondência:| Status | Descrição | Quando é atribuído |
| - | - | - |
| **Falso Positivo** | A correspondência provavelmente NÃO é a mesma pessoa | Pontuação de correspondência \< limite (atribuído automaticamente) |
| **Não revisado** | A correspondência é possível e exige revisão | Pontuação de correspondência ≥ limite (atribuído automaticamente) |
| **Correspondência Confirmada** | A correspondência foi verificada como sendo a mesma pessoa | Definido manualmente pelo oficial de conformidade |
| **Inconclusivo** | Não foi possível determinar se a correspondência é a mesma pessoa | Definido manualmente pelo oficial de conformidade |> [!NOTE]
>
> ### **Dica:** Você pode alterar o status de revisão de uma correspondência no Console, vendo a visão geral de AML ou clicando em uma correspondência específica para ver os detalhes.## Principais recursos### 1. Extração abrangente de dados- **Extração precisa**: extraia dados das informações fornecidas pelo usuário ou de documentos de identidade com tecnologia avançada de OCR.
- **Lógica difusa**: considere variações e erros de grafia de nomes para garantir uma captura de dados completa.### 2. Ampla cobertura de listas de vigilânciaFaça a triagem contra várias categorias, incluindo:- **Listas de sanções**: de órgãos governamentais e internacionais.
- **Pessoas politicamente expostas (PEPs)**: indivíduos com funções públicas proeminentes.
- **Antecedentes criminais**: incluindo bases criminais globais e locais.
- **Menções em mídia negativa**: notícias e reportagens sobre crimes financeiros e outros riscos.
- **Listas de vigilância personalizadas**: configuráveis de acordo com os requisitos específicos de cada cliente.### 3. Algoritmos de correspondência avançados- **Correspondência difusa**: detecta pequenas variações em nomes ou detalhes para garantir uma correspondência precisa.
- **Vários pontos de dados**: use nome, data de nascimento, nacionalidade e outros identificadores para uma triagem completa.
- **Lógica de chave de ouro**: correspondência por número de documento, que pode se sobrepor às pontuações para uma identificação definitiva.### 4. Avaliação de risco com duas pontuaçõesCada correspondência recebe DUAS pontuações:| Pontuação | Finalidade | Classificação |
| - | - | - |
| **Pontuação de correspondência** (0-100) | Esta é a mesma pessoa? | Falso Positivo vs. Não revisado |
| **Pontuação de risco** (0-100) | Qual é o risco desta entidade? | Determina o status AML final |**Status de revisão da correspondência (com base na pontuação de correspondência):**- **Falso Positivo**: pontuação de correspondência abaixo do limite - provavelmente NÃO é a mesma pessoa
- **Não revisado**: pontuação de correspondência igual ou acima do limite - exige revisão**Status AML final (com base na maior pontuação de risco entre as correspondências que não são falsos positivos):**- **Aprovado**: todas as correspondências não revisadas têm pontuações de risco baixas
- **Em revisão**: pelo menos uma correspondência não revisada tem pontuação de risco média a alta
- **Recusado**: pelo menos uma correspondência não revisada tem pontuação de risco muito alta### 5. Triagem detalhada de mídia negativaFaça a triagem contra uma ampla gama de categorias de mídia negativa, incluindo:- **Crimes financeiros**: lavagem de dinheiro, desvio de recursos e mais.
- **Crimes violentos**: agressão, homicídio e delitos relacionados.
- **Terrorismo**: envolvimento ou apoio a atividades terroristas.
- **Narcóticos**: tráfico de drogas e crimes relacionados.
- **Fraude**: diversos tipos de fraude e práticas enganosas.
- **Violações regulatórias**: descumprimento de requisitos de conformidade regulatória.### 6. Parâmetros de triagem personalizáveis- **Sensibilidade ajustável**: configure a sensibilidade da triagem de acordo com o apetite a risco da sua organização.
- **Listas de vigilância personalizáveis**: selecione quais listas e categorias incluir no processo de triagem para atender a requisitos específicos.### Limites configuráveisVocê pode personalizar os níveis de segurança definindo limites diferentes:**Configuração da pontuação de correspondência:**| Configuração | Padrão | Descrição |
| - | - | - |
| Limite da pontuação de correspondência | 93 | Correspondências abaixo disso são Falsos Positivos, iguais ou acima são Não revisadas |
| Peso do nome | 60 | Peso do nome na pontuação de correspondência |
| Peso da data de nascimento | 25 | Peso da data de nascimento na pontuação de correspondência |
| Peso do país | 15 | Peso do país na pontuação de correspondência |**Limites da pontuação de risco (status final):**| Configuração | Padrão | Descrição |
| - | - | - |
| Limite de aprovação | 80 | Pontuações de risco abaixo = Aprovado |
| Limite de revisão | 100 | Pontuações de risco acima = Recusado; entre os dois = Em revisão |![Limites da pontuação de risco AML da Didit para os status Aprovado, Em revisão e Recusado](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]
>
> Esses limites podem ser ajustados de acordo com a sua tolerância a risco e os seus requisitos de segurança.## Como funcionaNosso processo de Análise AML identifica riscos potenciais com eficiência e minimiza atrasos para usuários legítimos.**1. Extração de dados**O sistema extrai as informações relevantes dos dados fornecidos pelo usuário ou dos documentos de identidade enviados.| Entrada | Método |
| - | - |
| **Documentos de identidade** | Tecnologia avançada de OCR para extração precisa de dados |
| **Dados fornecidos pelo usuário** | Entrada direta (nome, data de nascimento, nacionalidade, número do documento) |
| **Lógica difusa** | Considera variações e erros de grafia de nomes |**2. Triagem em listas de vigilância**Os dados extraídos são cruzados em tempo real com **1,300+ listas de vigilância e bases globais**:- **Listas de sanções** - órgãos governamentais e internacionais (OFAC, UE, ONU etc.)
- **Pessoas politicamente expostas (PEPs)** - indivíduos com funções públicas proeminentes
- **Antecedentes criminais** - bases criminais globais e locais
- **Mídia negativa** - notícias e reportagens sobre crimes financeiros
- **Listas de vigilância personalizadas** - configuráveis de acordo com os seus requisitos**3. Cálculo da pontuação de correspondência**Para cada possível correspondência, o sistema calcula uma **pontuação de confiança na identidade** - a probabilidade de ser a mesma pessoa.| Fator | Peso padrão | Descrição |
| - | :-: | - |
| **Similaridade de nome** | 60% | Correspondência difusa que considera variações |
| **Data de nascimento** | 25% | Comparação exata ou parcial da data de nascimento |
| **País/Nacionalidade** | 15% | Comparação do país de origem |- Pontuação de correspondência **abaixo do limite** (padrão: 93) → classificada como **Falso Positivo**
- Pontuação de correspondência **igual ou acima do limite** → classificada como **Não revisada** (correspondência possível)
- **Chave de ouro**: a correspondência do número do documento pode elevar a pontuação para 100% para uma identificação definitiva**4. Cálculo da pontuação de risco**Para as correspondências que não são falsos positivos, o sistema calcula o **nível de risco** da entidade:| Fator | Peso | Descrição |
| - | :-: | - |
| **Categoria** | 50% | Nível de PEP, tipo de sanção, gravidade criminal |
| **Risco do país** | 30% | Classificação de risco dos países associados |
| **Antecedentes criminais** | 20% | Presença e gravidade do histórico criminal |**5. Determinação do status final**Com base na **maior pontuação de risco** entre todas as correspondências que não são falsos positivos:| Pontuação de risco | Status | Ação |
| :-: | - | - |
| Abaixo do limite de aprovação | **Aprovado** | Liberado automaticamente, sem risco relevante |
| Entre os limites | **Em revisão** | Sinalizado para revisão manual de conformidade |
| Acima do limite de revisão | **Recusado** | Alto risco, rejeição automática |Se **todas** as correspondências forem falsos positivos, o resultado é **Aprovado** (nenhuma correspondência relevante encontrada).**6. Geração do resultado**Um relatório detalhado é gerado com total transparência:- A **pontuação de correspondência** e a **pontuação de risco** de cada correspondência, com os detalhamentos
- Classificação da correspondência (Falso Positivo vs. Não revisada vs. Confirmada)
- Base de origem e detalhes da categoria de cada resultado
- Resultados entregues por **resposta da API**, **webhook** ou **Business Console**
- Decisão automática com base nos limites de pontuação de risco que você configurou## Referência de dados de resultados AMLCada resultado AML retornado na resposta da API contém informações detalhadas sobre a entidade correspondente. Abaixo estão os principais campos e seus valores possíveis.### Categorias de conjuntos de dadosO campo `datasets` de cada resultado indica em quais categorias de bases de conformidade a entidade foi encontrada. Valores possíveis:| Valor | Descrição |
| - | - |
| `PEP` | Pessoa politicamente exposta (geral) |
| `PEP Level 1` | Chefes de Estado, políticos seniores, juízes da suprema corte |
| `PEP Level 2` | Membros do parlamento, embaixadores, líderes militares |
| `PEP Level 3` | Funcionários do governo local, servidores públicos de nível intermediário |
| `PEP Level 4` | RCA (familiares e associados próximos) de indivíduos PEP |
| `Sanctions` | Listas de sanções internacionais e nacionais (OFAC, UE, ONU etc.) |
| `Adverse Media` | Notícias e reportagens negativas relacionadas a crimes financeiros |
| `Warnings and Regulatory Enforcement` | Avisos regulatórios, ações de fiscalização e alertas de conformidade |
| `Fitness and Probity` | Registros de idoneidade e probidade de reguladores financeiros |
| `SIP` | Listas de Pessoas de Interesse Especial |
| `SIE` | Listas de Entidades de Interesse Especial |
| `Insolvency` | Registros de insolvência e falência |### Correspondências de sançõesO array `sanction_matches` contém os detalhes de cada lista de sanções em que a entidade foi encontrada. Principais campos:| Campo | Tipo | Descrição |
| - | - | - |
| `list_name` | `string[]` | Nome(s) da(s) lista(s) de sanções |
| `matched_name` | `string` | Nome como aparece na lista de sanções |
| `description` | `string` | Descrição da entrada de sanção |
| `reason` | `string` | Motivo em texto livre pelo qual a entidade foi sancionada. Não é um enum - os valores vêm diretamente da autoridade sancionadora e descrevem os fundamentos específicos da inclusão na lista (por exemplo, "Executive Order 13224 (Terrorism)", "Support for actions undermining Ukraine's sovereignty"). |
| `legal_basis` | `string[]` | Base legal da sanção |
| `sanction_program` | `string[]` | Programa(s) de sanções em que a entidade está listada |
| `sanctioning_authority` | `string[]` | Autoridade que impôs a sanção |
| `listed_on` | `string[]` | Data(s) em que a entidade foi listada |
| `source_url` | `string` | URL da fonte |### Correspondências de avisosO array `warning_matches` contém os detalhes das correspondências de listas de avisos, fiscalização regulatória e afins. O campo `additional_data` pode incluir um array `data.case_details` com informações estruturadas do caso.#### Tipos de caso de avisoO campo `case_type` dentro de `additional_data.data.case_details[]` descreve a natureza do caso de aviso. Valores conhecidos:| Valor | Descrição |
| - | - |
| `Accusation` | Acusação ou denúncia formal |
| `Arrest` | Registro de prisão |
| `Bribery` | Caso relacionado a suborno |
| `Criminal` | Caso criminal geral |
| `Fraud` | Caso relacionado a fraude |
| `Illegal Fundraising` | Atividade de captação ilegal de recursos |
| `Non-conviction Terror` | Inclusão relacionada a terrorismo sem condenação |
| `Proclaimed Offender` | Infrator oficialmente declarado |
| `Regulatory Enforcement` | Ação de fiscalização regulatória |
| `Terrorism` | Caso relacionado a terrorismo |
| `Terrorism-related` | Relacionado a atividades terroristas |
| `Terrorism-related listing` | Listado em conexão com terrorismo |


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