A partir de uma análise concluída, POST /reports
gera o relatório técnico de suporte usado para decisão de comunicação ao
COAF — também de forma síncrona, com o resultado completo na mesma resposta.
Pré-condições
- A análise de origem (
analysis_uuid) precisa ter sido criada há menos
de 24 horas (janela regulatória de comunicação).
institution_type define o regime aplicável: banco (BCB) ou
seguradora (SUSEP).
Fora dessa janela, ou com uma análise que não pertence à sua empresa, a
chamada retorna 422/404 — veja Erros.
Seções do relatório
O result retornado tem 7 seções. As primeiras 4 são texto determinístico
(sempre o mesmo resultado para a mesma análise); as 3 últimas são geradas
por um único agente de LLM:
Regenerando parágrafos
POST /reports/{uuid}/paragraphs/regenerate roda de novo só o agente de
LLM, sem re-executar o relatório inteiro — útil quando §4/§5/§6 saíram
insatisfatórios. Só essas três seções são regeneráveis (o agente sempre as
produz juntas, mas você escolhe quais substituir no resultado persistido):
Pedir uma seção determinística (§1/§2/§3/§7) retorna 422 — ela sempre
produziria o mesmo texto, então não há o que regenerar.
Artefatos (XML/PDF)
coaf_xml e pdf não vêm embutidos na resposta — são referências de
armazenamento (storage_uri e afins). available: false indica que o
leiaute daquele regime ainda não está implementado (comum para XML de
banco) ou que a renderização falhou; nesse caso, limitations explica o
motivo e o resto do relatório continua íntegro.
O relatório é sempre uma minuta — a comunicação ao COAF em si exige
validação humana antes de virar uma comunicação de fato.