Emitir DC-e em lote
POST/v1/subscriptions/:subscriptionId/taxpayers/:taxpayerId/contentdeclarations/$batch
Recebe uma lista de declarações e aceita cada uma independentemente.
A resposta é sempre 200, com um resultado por item — a posição no array de entrada volta
em index.
Todos os itens do lote compartilham o mesmo batchId, que é o que correlaciona a emissão
em lote depois.
⚠️ O lote é sempre assíncrono. Cada item aceito volta com status: 202; nenhum item
traz o documento pronto. Acompanhe cada id por GET {id}.
⚠️ O lote não avalia Idempotency-Key. Reenviar o mesmo lote emite os documentos de
novo. Se o seu processo tem retry automático, controle a repetição do seu lado, ou emita
item por item com Idempotency-Key.
Request
Responses
- 200
- 400
- 401
- 403
Lote processado. Cada item traz o código de status que a mesma requisição teria
recebido sozinha: 202 quando aceita, 400 ou 422 quando recusada na validação.
Requisição recusada na validação de forma ou de identidade — campo obrigatório ausente,
identificação incompatível com a modalidade, environment ausente ou divergente do cadastro
da empresa (B10-10). O corpo é Problem Details com errors[]: cada erro traz name (o
caminho do campo, em camelCase) e reason (a explicação, em inglês); rule aparece quando a
recusa vem de uma regra identificada.
Token ausente, expirado, com audiência diferente de dfetech.contentdeclaration.api, ou
chave de API no lugar de um JWT.
O token autentica, mas não autoriza: falta o escopo ou o papel da operação, ou a assinatura
da URL não é do token (nem acessível ao usuário). Leia o type para distinguir — o de
assinatura é …/subscription-scope-undetermined.