Autenticação
O servidor sempre inicia e sempre responde tools/list, mesmo sem chave (modo gratuito). A chave só é exigida quando você chama uma ferramenta que consome a API da NFE.io - nesse caso, sem chave, a ferramenta retorna um erro instrutivo pedindo a credencial (não é um 401 de transporte).
As duas chaves
| Função | Header HTTP | Variável (local) | Nome no dashboard |
|---|---|---|---|
| Operações fiscais (emissão, notas, empresas) | X-NFE-API-Key ou Authorization: Bearer | NFE_API_KEY | Chave de Dados |
| Lookups (CNPJ, CEP) | X-NFE-Lookup-Key | NFE_LOOKUP_API_KEY | Chave de Consulta |
Se a Chave de Consulta não for informada, os lookups usam a Chave de Dados como fallback.
O dashboard chama de "Chave de Dados" (fiscal) e "Chave de Consulta" (lookups). A variável NFE_LOOKUP_API_KEY recebe o nome pela função para não confundir com o rótulo do dashboard.
Empresa padrão
Ferramentas que operam sobre uma empresa (issue_service_invoice, list_service_invoices, get_invoice_status, get_company) aceitam um companyId opcional. Se você omitir, o servidor usa a empresa padrão:
| Header HTTP | Variável (local) |
|---|---|
X-NFE-Company-Id | NFE_COMPANY_ID |
Precedência da chave fiscal
Da maior para a menor prioridade:
X-NFE-API-Key(header)Authorization: Bearer(header)NFE_API_KEY(variável de ambiente - só no modo local/stdio)- anônimo (só as ferramentas gratuitas respondem)
No hosted e no local via npx a credencial nunca é lida de arquivo compartilhado: no hosted ela chega por header a cada requisição; no local, por variável de ambiente. Veja Segurança.