Skip to main content
O recurso central da API. POST /analyses roda o motor de risco AML/KYC sobre um subject e retorna um veredito determinístico. O uuid retornado é o identificador usado por todo o resto da API: sub-recursos da própria análise, relatórios (/reports) e triagem de mídia adversa (/adverse-media).

POST /analyses

Cria e executa a análise de forma síncrona. A resposta já contém o veredito completo. Escopo: analyses:create

Corpo da requisição

Exatamente um de entity_id ou document:

Resposta (AnalysisResponse)

Contagem de sinais e status por base consultada ficam em GET /analyses/{uuid}/signals, não nesta resposta.

Erros

Catálogo completo em Erros.

GET /analyses/{uuid}

Veredito de uma análise já computada. Escopo: analyses:read.

GET /analyses

Lista análises, paginado. Escopo: analyses:read.

Sub-recursos da análise

Todos exigem analyses:read, disponíveis em links na resposta de criação:
GET /analyses/{uuid}/dossier é uma releitura da análise já computada e paga: chamadas repetidas não criam nova análise nem geram cobrança adicional.

Grafo

GET /analyses/{uuid}/graph

Grafo de relacionamentos da contraparte (AnalysisGraphResponse), com sinais, UBOs e PEPs de rede.

GET /analyses/{uuid}/graph/nodes/{node_key}

Detalhe de um nó: campos, relacionamentos, evidências e sinais associados. Escopo: analyses:read.

GET /analyses/{uuid}/graph/edges/{edge_key}

Detalhe de uma aresta: tipo de relacionamento, endpoints e campos próprios. Escopo: analyses:read.

Agregação de evidências

Registros do mesmo tipo de evidência sobre o mesmo nó âncora (ex.: várias sanções da mesma entidade) chegam agrupados em um nó agregado (EvidenceSummary). Dois endpoints movem registros entre o agregado e nós individuais: POST /analyses/{uuid}/graph/nodes/{node_key}/disaggregate — extrai registros específicos do agregado, materializando cada um como nó/aresta próprios.
Retorna o grafo atualizado (graph) e os registros extraídos (disaggregated: node_key, edge_key, signal_codes de cada um). record_ids são ids naturais do registro (ex.: SanctionData.id), como string (podem exceder 2^53). POST /analyses/{uuid}/graph/nodes/reaggregate — reagrupa nós individuais de volta em um agregado. Todos os node_keys informados devem compartilhar a mesma entidade âncora e tipo de evidência.
Retorna o grafo atualizado (graph) e aggregate_node_key. Ambos: escopo analyses:read, erro 404 se a análise ou um nó não existir, 422 em corpo inválido.

Notas e expansão de nó

GET /analyses/{uuid}/graph/nodes/{node_id}/expandable-relationships — lista domínios de relacionamento ainda não expandidos a partir de um nó (entities, corporate, sanctions, legal, watchlists, publications). Escopo: analyses:read. POST /analyses/{uuid}/graph/nodes/{node_id}/expand — expande e persiste esses relacionamentos na análise.
Escopo: analyses:create. GET/POST /analyses/{uuid}/graph/nodes/{node_id}/notes — lista ou cria uma nota de texto livre (body) anexada a um nó. Escopo: analyses:read (GET) / analyses:create (POST). GET /analyses/{uuid}/graph/notes — contagem de notas por nó, para a análise inteira. Escopo: analyses:read.

Export em lote de dossiês

POST /analyses/bulk-dossier-jobs — enfileira geração de PDF para até 1000 itens de uma vez. Cada item referencia uma análise existente (analysis_uuid) ou um documento cru (document, roda a análise na hora). Retorna job_id imediatamente. Escopo: analyses:create.
GET /analyses/bulk-dossier-jobs — lista jobs, paginado. Escopo: analyses:read. GET /analyses/bulk-dossier-jobs/{job_id} — status agregado (status: running/completed/completed_with_errors/failed) e por item (pending/completed/failed). Escopo: analyses:read. GET /analyses/bulk-dossier-jobs/{job_id}/download — baixa o ZIP com os PDFs prontos. 404 se o job não existe ou o ZIP ainda não está disponível. Escopo: analyses:read.