Skip to content

Códigos de erro ​

A API usa os códigos HTTP padrão e explica o erro no corpo da resposta.

Formato ​

json
{
  "error":  "Certificado digital A1 não cadastrado. Envie o arquivo .pfx e a senha em Empresas → detalhe → Certificado digital antes de emitir.",
  "codigo": "CERTIFICADO_AUSENTE"
}

Decida pelo codigo (feito para máquina); o texto é para exibir e pode mudar. O codigo só vem quando o erro tem um — as respostas sem código estão mais abaixo. A chave do texto ainda não é a mesma em toda resposta (inconsistência conhecida): a maioria vem em error; vêm em erro a autenticação (401), as validações da NFC-e acima de R$ 10 mil e o que cai no tratador geral (validação de parâmetros, banco, erro interno e, fora da NF-e, os bloqueios de certificado e de ambiente). Para exibir, leia error ?? erro.

Códigos HTTP ​

CódigoQuando
200OK
201Criado
202Aceito: o documento foi para a fila de autorização. O resultado da SEFAZ ou da prefeitura chega depois (veja abaixo)
400Requisição inválida (JSON malformado, parâmetro fora do formato)
401Não autenticado (token ausente, inválido, revogado ou expirado)
402O plano não inclui o recurso (recurso_fora_do_plano)
403Sem permissão (perfil só de leitura, token de parceiro fora das rotas dele, produção não liberada)
404Recurso não encontrado
409Conflito: número já ocupado na série, ou requisição idêntica ainda em processamento
422Os dados não permitem emitir (certificado, série, regra fiscal conferida antes do envio)
429Limite de requisições — ver Rate limits
500Erro interno (a mensagem é genérica de propósito)
503Serviço dependente indisponível (ex.: consulta de status da SEFAZ)

SEFAZ fora do ar não vira 503 na emissão de NFC-e

A NFC-e entra em contingência offline: a resposta é 202 com contingencia_offline: true, e a transmissão à SEFAZ acontece sozinha quando ela volta.

Códigos da API (codigo) ​

Conferidos no código em 24/09/2026, nas rotas de emissão, consulta e cancelamento.

Acesso e plano ​

codigoHTTPQuando
recurso_fora_do_plano402O plano não inclui o documento ou o serviço. motivo diz por quê: fora_do_plano, trial_expirado (acabou o teste de 7 dias), pessoa_fisica_sem_ie (conta por CPF sem inscrição estadual) ou pessoa_fisica (não existe para CPF). Traz também planos_que_incluem e upgrade_url
FREE_TIER_HOMOLOGACAO_ONLY403A empresa está configurada para produção, mas o plano (ou uma suspensão) só permite homologação
TOKEN_PARCEIRO_FORA_DE_ROTA403Token de parceiro usado fora de /api/v1/parceiro/* e /api/v1/integracao/* — use o token da própria empresa

Certificado digital A1 ​

codigoHTTPQuando
CERTIFICADO_AUSENTE422Sem certificado cadastrado (arquivo .pfx e senha). Barrado antes da fila: nada vai à SEFAZ
CERTIFICADO_VENCIDO422Certificado vencido. Barrado antes da fila: nada vai à SEFAZ
CERTIFICADO_SENHA422A senha não abre o certificado. Aparece nas operações que assinam na hora (cancelar, inutilizar); na emissão, a nota fica com status: "erro" e codigo_status: "CERTIFICADO_SENHA"

Numeração e série (NF-e, NFC-e e CT-e) ​

codigoHTTPQuando
numero_ocupado409NF-e e NFC-e: o número informado já tem documento nesta série que não pode ser reemitido. Se estiver autorizado, use o próximo número; se estiver processando, aguarde e tente de novo
multiplas_series422Várias séries ativas para o modelo e nenhuma padrão: informe a série
serie_inativa422Série desativada
numeracao_externa422A série é de numeração externa: o número vem do seu sistema (ex.: ide.nNF)
serie_pessoa_fisica422CT-e por pessoa física (CPF) exige série entre 920 e 969
inutilizacao_indisponivel_pessoa_fisica422Não existe inutilização de numeração para CPF (o leiaute da SEFAZ só aceita CNPJ)

NFC-e acima de R$ 10.000 ​

Texto em erro, com sucesso: false.

codigoHTTPQuando
identificacao_obrigatoria_acima_10mil422Venda acima de R$ 10.000 sem CPF/CNPJ ou sem o endereço completo do comprador. faltando lista o que falta
endereco_nao_resolvido_pelo_cep422O CEP não completou o endereço do comprador: mande o endereço em dest.enderDest
cpf_situacao_irregular422CPF do comprador com situação irregular na Receita (falecido, nulo ou cancelado de ofício). situacao traz o código e a descrição; a venda não é emitida

Tratador geral ​

Texto em erro.

codigoHTTPQuando
VALIDACAO400Corpo ou parâmetros fora do formato esperado
23505 · 23503 · 23P01409Conflito com um registro existente (código do banco, repassado)
23502 · 23514 · 22001422Campo obrigatório ausente, regra de validação do banco ou tamanho excedido
22P02400Formato de dado inválido
ERRO4xxErro sem código específico
ERRO_INTERNO500Falha interna

Sem codigo ​

Trate pelo status HTTP.

HTTPQuando
401Token ausente, inválido, revogado ou expirado (texto em erro)
403Perfil só de leitura tentando emitir ou cancelar (perfil diz qual), ou a empresa do token está inativa
409Requisição idêntica ainda em processamento: repita em instantes com a mesma Idempotency-Key (Idempotência)

Rejeição da SEFAZ ou da prefeitura ​

Não é erro HTTP. A emissão responde 202 e o resultado chega depois:

  • Na consulta do documento, status vira "rejeitada" (ou "denegada"), com o cStat em codigo_status e o motivo em motivo_status.
  • No webhook, resultado vem "rejeitada" (ou "denegada"), com erro: { "origem": "sefaz", "codigo": "<cStat>", "mensagem": "<motivo>" }. Na NFS-e, origem é "prefeitura".

Códigos SEFAZ comuns (cStat) ​

cStatSignificado
100Autorizado o uso da NF-e
101Cancelamento de NF-e homologado
103Lote recebido com sucesso
110Uso denegado
135Evento registrado e vinculado à NF-e
204Rejeição: duplicidade de NF-e
217Rejeição: NF-e não consta na base de dados da SEFAZ
225Rejeição: falha no schema XML
539Rejeição: duplicidade de NF-e com diferença na chave de acesso

Emissor Nacional da NFS-e ​

Os códigos do Emissor Nacional começam com E e aparecem no motivo (ex.: [E0312]). Os que já apareceram na prática:

CódigoSignificado
E0015A data de competência não pode ser posterior à data de emissão
E0039O município emissor ainda não está parametrizado no Emissor Nacional
E0120Inscrição municipal do prestador em conflito com o Cadastro Nacional de Contribuintes (CNC)
E0310Código de tributação nacional inexistente
E0312O código de tributação nacional não é administrado pelo município do ISSQN na data de competência

Emissão ilimitada em todos os planos.