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

# Triagem avulsa de PEP e sanções

> Triagem de PEP e sanções de um CPF com o nome, ou de um CNPJ com a razão social, sem sessão de verificação: no painel, em lote e pela API, com as listas consultadas e as fontes oficiais.

## Triagem avulsa de PEP e sanções

A triagem avulsa consulta as listas de pessoas expostas politicamente e de sanções para um documento, sem sessão de verificação e sem selfie. Serve para quem a sua empresa precisa conferir e não passa pelo widget: cliente ativo em revisão, sócio, administrador ou representante de cliente, funcionário, parceiro ou prestador, e a contraparte de uma operação.

**Sempre por documento, nunca por nome solto.** Para pessoa, mande o CPF com o nome como está no documento (a data de nascimento é opcional e desempata homônimos). Para empresa, o CNPJ com a razão social. Na lista de PEP o nome confirma o CPF; nas listas internacionais, que não publicam documento brasileiro, é o nome que busca, e o resultado pode ser um homônimo. A decisão sobre a pessoa é sempre sua: a triagem não aprova nem recusa ninguém.

**Finalidade.** Toda triagem leva uma finalidade de vocabulário fechado, que diz a sua relação com a pessoa: `customer_onboarding` (cadastro de cliente), `customer_review` (revisão de cliente ativo), `customer_related_party` (sócio, administrador, representante ou beneficiário final de cliente), `employee_partner_or_supplier` (funcionário, parceiro ou prestador) ou `transaction_counterparty` (contraparte de operação). A finalidade fica na trilha da consulta.

**No painel.** Em Consultas, escolha **Listas restritivas (PEP e sanções)**, informe o documento, o nome e a finalidade, e confirme. O resultado aparece uma vez na tela. O lote por planilha (CSV) tem o cabeçalho `reference_id,document,name,birth_date`, uma pessoa por linha; o nascimento pode ficar vazio. No painel, consulta em produção é para os papéis de dono e administrador.

**O que fica guardado.** A resposta volta uma vez e não é gravada: não existe consulta que a devolva depois. A trilha guarda quem consultou, quando, a finalidade, a classe do resultado e a versão das listas lidas. O documento não é guardado; a impressão dele, usada para evitar consulta repetida no mesmo dia, é apagada em 24 horas.

**Listas consultadas e fontes.** Pessoas expostas politicamente da Controladoria-Geral da União (Portal da Transparência); CEIS, CNEP, CEPIM e CEAF da Controladoria-Geral da União; a lista SDN do Office of Foreign Assets Control (Tesouro dos Estados Unidos); a lista consolidada do Conselho de Segurança das Nações Unidas; a UK Sanctions List do governo do Reino Unido (Open Government Licence v3.0); e a lista consolidada da União Europeia quando estiver habilitada. Cada resposta traz em `dataset_versions` a data e o estado de cada lista. A lista de PEP da CGU não traz parentes nem estreitos colaboradores de PEP, nem PEP estrangeiro.

**Preço.** O da linha do módulo PEP e sanções no catálogo, por consulta entregue. Resposta `unavailable` (uma lista vencida ou fora do ar) não é cobrada. No sandbox nada é cobrado e nenhuma lista real é lida: o resultado sai do final do documento, como no módulo do flow.

**POST** `/v1/screening-checks`

A triagem pela API, com chave secreta. A chave precisa ter sido criada com o escopo `screening:write` (chaves sem restrição não têm esse escopo) e com a lista de IPs permitidos preenchida; a lista de uma chave com o escopo não pode ficar vazia.

```
curl -X POST https://api.unifokal.com/v1/screening-checks \
  -H "Authorization: Bearer $UNIFOKAL_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: contraparte-8231" \
  -d '{
    "document": "529.982.247-25",
    "name": "JOSE DA SILVA",
    "birth_date": "1980-02-29",
    "purpose": "transaction_counterparty"
  }'
```

A resposta, `201`. Em `screening.result`: `match` (hit forte), `possible_match` (candidato a revisar), `no_match` (nenhum hit nas listas consultadas) ou `unavailable` (a consulta falhou e não foi cobrada). Hit por nome sai sem nome, documento, cargo ou texto do terceiro; o registro público só vem no hit forte por documento.

```
{
  "query": {
    "id": "lkq_01J...",
    "module": "pep_sanctions",
    "environment": "production",
    "document_kind": "cpf",
    "purpose": "transaction_counterparty",
    "channel": "api",
    "status": "delivered",
    "screening_result": "possible_match",
    "price_cents": 40,
    "billed": true
  },
  "screening": {
    "result": "possible_match",
    "pep": false,
    "pep_status": { "current": false, "last_1y": false, "last_3y": false, "last_5y": false, "roles": [] },
    "hits": [
      { "source": "ofac_sdn", "list": "OFAC SDN", "matched_by": "name", "strong": false,
        "listed_at": "2019-05-10", "left_at": null, "current": true, "entry_ref": "ofac_sdn:..." }
    ],
    "hits_truncated": false,
    "aggregates": { "total": 1, "pep": 0, "sanctions": 1, "strong": 0 },
    "dataset_versions": { "cgu_pep": { "ingested_at": "...", "stale": false, "disabled": false } }
  },
  "billing": { "price_cents": 40, "reserved_cents": 40, "available_cents": 9960, "waived": false },
  "replayed": false
}
```

**Idempotency-Key.** Opcional. A repetição com a mesma chave e o mesmo corpo em 24 horas responde `200` com o mesmo `query.id` e `replayed: true`, reavalia as listas e não cobra de novo. A mesma chave com outro corpo é `422 idempotency_key_reuse`.

**Erros.** `403 insufficient_scope` (a chave não tem o escopo), `403 screening_requires_ip_allowlist` (a chave não tem lista de IPs), `403 ip_not_allowed`, `403 onboarding_required`, `400 invalid_cpf` e `invalid_cnpj`, `422 screening_name_invalid` (nome vazio ou com caractere de controle), `422 screening_birth_date_invalid` e `screening_birth_date_not_supported`, `402 insufficient_credit`, `409 lookup_in_progress` e os limites de uso `429 lookup_daily_cap`, `lookup_distinct_daily_cap`, `module_quota_reached` e `rate_limited`. A lista completa está na especificação OpenAPI.


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