409
O que significa
AIdempotency-Key enviada conflita com uma requisição anterior. Há dois cenários:
- Requisição concorrente: outra requisição com a mesma key ainda está em andamento. A primeira vence; a concorrente recebe
409enquanto a original não termina. - Mesma key, conteúdo diferente: uma requisição anterior já usou essa key com um conteúdo diferente dentro da janela de deduplicação de 24 horas.
POST /analyses: o body da requisição.POST /operations: o payload multipart — o conteúdo dos arquivos (fileexmls) e os campos (cedente_cnpj,engine_id,purpose,legal_basis). Trocar o arquivo, o ZIP ou qualquer campo com a mesma key gera conflito.
200 com o body original da 202, sem nova cobrança.
No
POST /operations (Motor de Borderô), o header Idempotency-Key é opcional: este erro só pode ocorrer quando você envia a key. Sem ela, cada POST cria uma operação nova — sem deduplicação e sem conflito. No POST /analyses, a key continua obrigatória.Causas comuns
- Retries automáticos disparando em paralelo com a requisição original ainda em voo.
- Reuso da mesma key após corrigir um erro de validação (o conteúdo mudou, a key não).
- Key gerada de forma não única no seu sistema (por exemplo, key fixa por cliente em vez de por job/borderô).
Como corrigir
- Concorrência: não reenvie o POST. Aguarde a requisição original terminar e consulte via
GET(/analyses/{id}ou/operations/{id}) usando oidda resposta202original. - Conteúdo diferente: se a mudança é intencional (nova análise, outro borderô), gere uma nova
Idempotency-Key. - Retry seguro: em timeout ou erro 5xx de rede, reenvie com a mesma key (nunca gere key nova em retry, há risco de cobrança dupla). Em 4xx de validação, corrija e use key nova.
- Gere a key como UUID e amarre ao ID interno do job (ou do borderô) no seu sistema, garantindo uma key por requisição pretendida.
Exemplo
detail varia conforme o cenário.