{"openapi":"3.1.0","info":{"title":"API do emissor de NF-e (v2)","version":"2.1.0","description":"API para ERPs emitirem NF-e (modelo 55) em nome de várias empresas, com a mesma lógica de uso do Focus NFe.\n\n**Autenticação:** chave de API da conta, em `Authorization: Bearer nfe_...` ou HTTP Basic com a chave como usuário e senha vazia.\n**Erros:** sempre `{ codigo, mensagem }`; a validação traz também `erros` por campo, com o caminho (`items.0.codigo_ncm`).\n**Assíncrono:** emitir, cancelar, corrigir e inutilizar respondem `202`; consulte `GET /nfe/{ref}` ou assine os webhooks.\nGuia de integração com exemplos, regras de reenvio da ref, modo híbrido de tributação e assinatura dos webhooks: `/docs` neste mesmo servidor."},"servers":[{"url":"https://srv1839254.hstgr.cloud/api/v2"}],"security":[{"bearerAuth":[]},{"basicAuth":[]}],"tags":[{"name":"Empresas","description":"CNPJs da conta: cadastro, certificado A1 e ambiente."},{"name":"Produtos","description":"Catálogo da empresa (SKU -> NCM, origem...), usado quando o item não informa."},{"name":"NF-e","description":"Emissão e eventos, por `ref`."},{"name":"Webhooks","description":"Avisos assinados a cada mudança de estado das notas."},{"name":"Operação","description":"Log de requisições e este contrato."}],"paths":{"/empresas":{"get":{"operationId":"listarEmpresas","tags":["Empresas"],"summary":"Lista as empresas da conta","responses":{"200":{"description":"Empresas","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Empresa"}}}}}}},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"post":{"operationId":"criarEmpresa","tags":["Empresas"],"summary":"Cadastra uma empresa (nasce em homologação)","description":"Com `arquivo_certificado_base64` e `senha_certificado` instala o certificado na mesma chamada: se for recusado, a empresa também não é criada. Limitada por conta (`limite_de_empresas`) e a 10 chamadas por minuto.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmpresaEntrada"}}}},"responses":{"201":{"description":"Empresa criada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empresa"}}}},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}":{"parameters":[{"$ref":"#/components/parameters/Cnpj"}],"get":{"operationId":"obterEmpresa","tags":["Empresas"],"summary":"Detalha uma empresa","responses":{"200":{"description":"Empresa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empresa"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"patch":{"operationId":"atualizarEmpresa","tags":["Empresas"],"summary":"Atualiza a empresa (parcial)","description":"O que não vier fica como está; o resultado inteiro é validado. O CNPJ não muda. `ativo: false` desativa a emissão.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmpresaAtualizacao"}}}},"responses":{"200":{"description":"Empresa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empresa"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}/certificado":{"parameters":[{"$ref":"#/components/parameters/Cnpj"}],"get":{"operationId":"statusCertificado","tags":["Empresas"],"summary":"Situação do certificado A1 (nunca o arquivo nem a senha)","responses":{"200":{"description":"Situação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificadoStatus"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"put":{"operationId":"enviarCertificado","tags":["Empresas"],"summary":"Envia o certificado A1 (e-CNPJ ICP-Brasil)","description":"Confere senha, validade e se o CNPJ do certificado é o da empresa. 10 chamadas por minuto.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificadoEntrada"}},"multipart/form-data":{"schema":{"type":"object","required":["certificado","senha_certificado"],"properties":{"certificado":{"type":"string","format":"binary","description":"Arquivo .pfx/.p12, até 200 KB"},"senha_certificado":{"type":"string"}}}}}},"responses":{"200":{"description":"Certificado instalado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificadoInstalado"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"delete":{"operationId":"removerCertificado","tags":["Empresas"],"summary":"Remove o certificado (a empresa volta para homologação)","responses":{"200":{"description":"Removido","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"ambiente":{"type":"string"}}}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}/ambiente":{"parameters":[{"$ref":"#/components/parameters/Cnpj"}],"put":{"operationId":"trocarAmbiente","tags":["Empresas"],"summary":"Troca homologação <-> produção","description":"Produção só libera com certificado válido, IE e as tabelas fiscais validadas; o que falta vem em `erros.ambiente`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["ambiente"],"properties":{"ambiente":{"type":"string","enum":["homologacao","producao"]}}}}}},"responses":{"200":{"description":"Empresa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empresa"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}/series":{"parameters":[{"$ref":"#/components/parameters/Cnpj"}],"get":{"operationId":"listarSeries","tags":["Empresas"],"summary":"Séries da NF-e e o próximo número de cada uma (ambiente atual da empresa)","description":"Sem nenhuma nota ainda, a série 1 aparece como vai nascer (próximo número 1). Homologação e produção têm sequências próprias.","responses":{"200":{"description":"Numeração","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Numeracao"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}/series/{serie}":{"parameters":[{"$ref":"#/components/parameters/Cnpj"},{"$ref":"#/components/parameters/Serie"}],"put":{"operationId":"definirProximoNumero","tags":["Empresas"],"summary":"Define o próximo número da série (só para a frente)","description":"Para continuar a numeração de outro emissor. Cria a série se não existe. Número menor ou igual ao maior já usado na série e ambiente: 422 `numero_retroativo`, com `minimo`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProximoNumeroEntrada"}}}},"responses":{"200":{"description":"Série","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerieNumeracao"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}/produtos":{"parameters":[{"$ref":"#/components/parameters/Cnpj"}],"get":{"operationId":"listarProdutos","tags":["Produtos"],"summary":"Lista o catálogo da empresa","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Busca por SKU, descrição ou início do NCM"},{"name":"per_page","in":"query","schema":{"type":"integer","maximum":100,"default":25}}],"responses":{"200":{"description":"Produtos","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Produto"}},"links":{"type":"object","description":"first, last, prev, next"},"meta":{"type":"object","description":"current_page, per_page, total, last_page..."}}}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}/produtos/importacao":{"parameters":[{"$ref":"#/components/parameters/Cnpj"}],"post":{"operationId":"importarProdutos","tags":["Produtos"],"summary":"Importa vários produtos de uma vez (tudo ou nada)","description":"Se UMA linha for inválida nada é gravado e o erro aponta a linha. SKU que já existe é atualizado. Até 2000 por chamada. Corpo JSON `{produtos:[...]}` ou arquivo CSV em `arquivo`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["produtos"],"properties":{"produtos":{"type":"array","items":{"$ref":"#/components/schemas/ProdutoImportacao"}}}}},"multipart/form-data":{"schema":{"type":"object","required":["arquivo"],"properties":{"arquivo":{"type":"string","format":"binary","description":"CSV (colunas sku;descricao;ncm;cest;origem;unidade;gtin;producao_propria), até 1 MB"}}}}}},"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","properties":{"criados":{"type":"integer"},"atualizados":{"type":"integer"}}}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/empresas/{cnpj}/produtos/{sku}":{"parameters":[{"$ref":"#/components/parameters/Cnpj"},{"$ref":"#/components/parameters/Sku"}],"get":{"operationId":"obterProduto","tags":["Produtos"],"summary":"Detalha um produto","responses":{"200":{"description":"Produto","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Produto"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"put":{"operationId":"salvarProduto","tags":["Produtos"],"summary":"Cria ou substitui o produto do SKU (idempotente)","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProdutoEntrada"}}}},"responses":{"200":{"description":"Atualizado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Produto"}}}},"201":{"description":"Criado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Produto"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"delete":{"operationId":"removerProduto","tags":["Produtos"],"summary":"Remove o produto","responses":{"204":{"description":"Removido"},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe":{"post":{"operationId":"emitirNfe","tags":["NF-e"],"summary":"Emite uma NF-e (assíncrono)","description":"Tudo que dá para recusar sem a SEFAZ volta como 422 aqui, antes de gastar um número. Rejeitada ou parada por pendência aceita o reenvio com o mesmo número. 120 emissões por minuto por chave (ajustável por conta).","parameters":[{"name":"ref","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Ref"},"description":"Chave de idempotência da nota, única por empresa e ambiente"},{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NfeEntrada"}}}},"responses":{"200":{"description":"A `ref` já tinha uma nota com este mesmo conteúdo, em estado final","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nfe"}}}},"202":{"description":"Foi para a fila (ou a nota já estava em andamento)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nfe"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"409":{"description":"A `ref` já pertence a uma nota com outro conteúdo (`ref_ja_utilizada`)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/{ref}":{"parameters":[{"$ref":"#/components/parameters/RefPath"},{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"get":{"operationId":"consultarNfe","tags":["NF-e"],"summary":"Estado atual da nota, com chave, protocolo, links e eventos","responses":{"200":{"description":"Nota","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nfe"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"delete":{"operationId":"cancelarNfe","tags":["NF-e"],"summary":"Cancela a nota (assíncrono)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["justificativa","confirmo"],"properties":{"justificativa":{"type":"string","description":"15 a 255 caracteres","minLength":15,"maxLength":255},"confirmo":{"type":"boolean","description":"Afirma que a mercadoria NÃO saiu: cancelar venda despachada é irregular"}}}}}},"responses":{"202":{"description":"Cancelamento aceito; o estado vira `cancelado` quando a SEFAZ registrar","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nfe"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/{ref}/xml":{"parameters":[{"$ref":"#/components/parameters/RefPath"},{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"get":{"operationId":"baixarXml","tags":["NF-e"],"summary":"XML da nota autorizada (nfeProc)","responses":{"200":{"description":"XML","content":{"application/xml":{"schema":{"type":"string"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/{ref}/danfe":{"parameters":[{"$ref":"#/components/parameters/RefPath"},{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"get":{"operationId":"baixarDanfe","tags":["NF-e"],"summary":"DANFE em PDF","responses":{"200":{"description":"PDF","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/{ref}/carta_correcao":{"parameters":[{"$ref":"#/components/parameters/RefPath"},{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"post":{"operationId":"corrigirNfe","tags":["NF-e"],"summary":"Carta de correção (assíncrono)","description":"Não corrige valores, impostos, dados do destinatário nem datas.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["correcao"],"properties":{"correcao":{"type":"string","description":"15 a 1000 caracteres","minLength":15,"maxLength":1000}}}}}},"responses":{"202":{"description":"Aceita; acompanhe em `eventos`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nfe"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/{ref}/eventos/{event}/xml":{"parameters":[{"$ref":"#/components/parameters/RefPath"},{"name":"event","in":"path","required":true,"schema":{"type":"integer"},"description":"id do evento (`eventos[].id`)"},{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"get":{"operationId":"baixarXmlEvento","tags":["NF-e"],"summary":"XML do evento registrado (procEventoNFe)","responses":{"200":{"description":"XML","content":{"application/xml":{"schema":{"type":"string"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/inutilizacao":{"post":{"operationId":"inutilizarNumeracao","tags":["NF-e"],"summary":"Inutiliza uma faixa de numeração (assíncrono)","description":"Só números que nunca existiram na SEFAZ (rascunho, rejeitada ou pendência); faixa contínua de até 1000.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["serie","numero_inicial","numero_final","justificativa","confirmo"],"properties":{"cnpj":{"type":"string","description":"CNPJ da empresa (ou `cnpj_emitente`); dispensável se a conta tem uma só"},"cnpj_emitente":{"type":"string"},"serie":{"type":"integer","minimum":0,"maximum":999},"numero_inicial":{"type":"integer","minimum":1},"numero_final":{"type":"integer","minimum":1},"justificativa":{"type":"string","description":"15 a 255 caracteres","minLength":15,"maxLength":255},"confirmo":{"type":"boolean","description":"Afirma que os números não foram usados em nenhuma NF-e, inclusive em outro sistema"}}}}}},"responses":{"202":{"description":"Aceita","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Inutilizacao"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/inutilizacoes":{"get":{"operationId":"listarInutilizacoes","tags":["NF-e"],"summary":"Histórico de inutilizações da empresa","parameters":[{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"responses":{"200":{"description":"Inutilizações","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Inutilizacao"}}}}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/nfe/inutilizacoes/{voiding}/xml":{"parameters":[{"name":"voiding","in":"path","required":true,"schema":{"type":"integer"}},{"$ref":"#/components/parameters/CnpjEmitenteQuery"}],"get":{"operationId":"baixarXmlInutilizacao","tags":["NF-e"],"summary":"XML da inutilização registrada (procInutNFe)","responses":{"200":{"description":"XML","content":{"application/xml":{"schema":{"type":"string"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/webhooks":{"get":{"operationId":"listarWebhooks","tags":["Webhooks"],"summary":"Lista os endereços de webhook da conta","responses":{"200":{"description":"Webhooks","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}}}}}}},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"post":{"operationId":"criarWebhook","tags":["Webhooks"],"summary":"Cadastra um endereço de webhook","description":"Só https, e o host precisa resolver para endereços públicos (checado aqui e em cada entrega). Até 10 por conta.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEntrada"}}}},"responses":{"201":{"description":"Criado (o `segredo` só aparece aqui)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookComSegredo"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/webhooks/{webhook}":{"parameters":[{"$ref":"#/components/parameters/Webhook"}],"get":{"operationId":"obterWebhook","tags":["Webhooks"],"summary":"Detalha um webhook (o segredo nunca volta)","responses":{"200":{"description":"Webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"patch":{"operationId":"atualizarWebhook","tags":["Webhooks"],"summary":"Altera um webhook","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEntrada"}}}},"responses":{"200":{"description":"Webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"422":{"$ref":"#/components/responses/Invalido"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}},"delete":{"operationId":"removerWebhook","tags":["Webhooks"],"summary":"Remove o webhook e o histórico de entregas","responses":{"204":{"description":"Removido"},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/webhooks/{webhook}/segredo":{"parameters":[{"$ref":"#/components/parameters/Webhook"}],"post":{"operationId":"trocarSegredoWebhook","tags":["Webhooks"],"summary":"Gera um segredo novo (o antigo deixa de valer na hora)","responses":{"200":{"description":"Webhook com o novo segredo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookComSegredo"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/webhooks/{webhook}/teste":{"parameters":[{"$ref":"#/components/parameters/Webhook"}],"post":{"operationId":"testarWebhook","tags":["Webhooks"],"summary":"Envia agora um evento `webhook.teste`","responses":{"202":{"description":"Entrega do teste","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entrega"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/webhooks/{webhook}/entregas":{"parameters":[{"$ref":"#/components/parameters/Webhook"}],"get":{"operationId":"listarEntregas","tags":["Webhooks"],"summary":"Histórico de entregas","parameters":[{"name":"status","in":"query","schema":{"type":"string","enum":["pendente","entregue","falhou"]}},{"name":"per_page","in":"query","schema":{"type":"integer","maximum":100,"default":25}}],"responses":{"200":{"description":"Entregas","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Entrega"}},"links":{"type":"object","description":"first, last, prev, next"},"meta":{"type":"object","description":"current_page, per_page, total, last_page..."}}}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/webhooks/{webhook}/entregas/{delivery}/reenviar":{"parameters":[{"$ref":"#/components/parameters/Webhook"},{"name":"delivery","in":"path","required":true,"schema":{"type":"integer"}}],"post":{"operationId":"reenviarEntrega","tags":["Webhooks"],"summary":"Reenvia o evento (mesmo `evento_id`)","responses":{"202":{"description":"Nova entrega","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entrega"}}}},"404":{"$ref":"#/components/responses/NaoEncontrado"},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/requisicoes":{"get":{"operationId":"listarRequisicoes","tags":["Operação"],"summary":"Log das requisições da conta (só metadados)","description":"Nunca traz corpo, query string nem cabeçalhos. O `id` é o valor do cabeçalho `X-Request-Id` da resposta.","parameters":[{"name":"status","in":"query","schema":{"type":"string","examples":["404","4xx","5xx"]},"description":"Código exato ou classe (4xx, 5xx)"},{"name":"metodo","in":"query","schema":{"type":"string"}},{"name":"caminho","in":"query","schema":{"type":"string"},"description":"Contém"},{"name":"desde","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"per_page","in":"query","schema":{"type":"integer","maximum":100,"default":25}}],"responses":{"200":{"description":"Requisições","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Requisicao"}},"links":{"type":"object","description":"first, last, prev, next"},"meta":{"type":"object","description":"current_page, per_page, total, last_page..."}}}}}},"401":{"$ref":"#/components/responses/NaoAutorizado"},"429":{"$ref":"#/components/responses/LimiteDeRequisicoes"}}}},"/openapi.json":{"get":{"operationId":"contratoOpenApi","tags":["Operação"],"summary":"Este contrato (público, sem chave)","security":[],"responses":{"200":{"description":"OpenAPI 3.1","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"webhooks":{"evento":{"post":{"summary":"Aviso de mudança de estado, enviado ao endereço cadastrado","description":"Eventos: nfe.autorizada, nfe.rejeitada, nfe.pendente, nfe.denegada, nfe.cancelada, nfe.cancelamento_recusado, nfe.cce_registrada, nfe.cce_recusada, nfe.inutilizada, inutilizacao.registrada, inutilizacao.recusada, webhook.teste.\n\nConfira a assinatura SEMPRE: `HMAC-SHA256(segredo, \"<t>.<corpo bruto>\")` em hexadecimal, comparado em tempo constante com `v1`, e recuse se `t` estiver a mais de 5 minutos de agora. Responda 2xx em até 10 segundos; qualquer outra resposta é repetida (9 tentativas em cerca de 21 h). Deduplique por `id`.","parameters":[{"name":"X-Webhook-Id","in":"header","schema":{"type":"string"},"description":"Igual ao `id` do corpo; o mesmo em todas as tentativas"},{"name":"X-Webhook-Event","in":"header","schema":{"type":"string"}},{"name":"X-Webhook-Timestamp","in":"header","schema":{"type":"integer"},"description":"unix"},{"name":"X-Webhook-Signature","in":"header","schema":{"type":"string"},"description":"t=<unix>,v1=<hmac>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEnvelope"}}}},"responses":{"2XX":{"description":"Recebido"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Chave de API da conta: nfe_..."},"basicAuth":{"type":"http","scheme":"basic","description":"A chave de API como usuário e a senha vazia"}},"parameters":{"Cnpj":{"name":"cnpj","in":"path","required":true,"schema":{"type":"string"},"description":"CNPJ da empresa. Só dígitos (ou alfanumérico); pontos e traço são ignorados"},"Serie":{"name":"serie","in":"path","required":true,"schema":{"type":"integer","minimum":0,"maximum":889},"description":"Série da NF-e (0 a 889)"},"Sku":{"name":"sku","in":"path","required":true,"schema":{"type":"string"},"description":"SKU do produto. SKU com \"/\" só pela importação"},"RefPath":{"name":"ref","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Ref"}},"CnpjEmitenteQuery":{"name":"cnpj_emitente","in":"query","schema":{"type":"string"},"description":"Empresa que emite. Dispensável se a conta tem uma só (também aceito no corpo do POST)"},"Webhook":{"name":"webhook","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}},"responses":{"NaoAutorizado":{"description":"Chave ausente, inválida, revogada ou vencida (`nao_autorizado`); ou conta desativada (403 `conta_inativa`)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"LimiteDeRequisicoes":{"description":"Limite por minuto estourado (`limite_de_requisicoes`); veja `Retry-After`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}},"headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Segundos até poder tentar de novo"}}},"NaoEncontrado":{"description":"`empresa_nao_encontrada` (CNPJ inexistente OU de outra conta), `nota_nao_encontrada`, `produto_nao_encontrado`, `webhook_nao_encontrado`, `entrega_nao_encontrada`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"Invalido":{"description":"`requisicao_invalida` (formato, campo desconhecido, dado faltando; lista TODOS os erros), `validacao_fiscal` (o motor recusou), `cnpj_emitente_obrigatorio`, `limite_de_empresas`, `limite_de_webhooks`, `numero_retroativo` (o próximo número não volta)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}},"schemas":{"Erro":{"type":"object","required":["codigo","mensagem"],"properties":{"codigo":{"type":"string","description":"Estável: programe contra ele"},"mensagem":{"type":"string","description":"Para gente ler"},"erros":{"type":"object","description":"Por campo, com o caminho (items.0.codigo_ncm): lista de mensagens","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"Ref":{"type":"string","description":"1 a 60 caracteres: letras, números, ponto, hífen e sublinhado. `inutilizacao` e `inutilizacoes` são reservadas","minLength":1,"maxLength":60,"pattern":"^[A-Za-z0-9._-]+$"},"Empresa":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"razao_social":{"type":"string"},"nome_fantasia":{"type":["string","null"]},"cnpj":{"type":"string"},"ie":{"type":["string","null"]},"im":{"type":["string","null"]},"cnae":{"type":["string","null"]},"regime":{"type":"string","enum":["mei","simples","simples_excesso","presumido","real"]},"industrial":{"type":"boolean"},"p_cred_sn":{"type":["number","null"]},"endereco":{"type":"object","properties":{"uf":{"type":["string","null"]},"codigo_municipio":{"type":["string","null"]},"municipio":{"type":["string","null"]},"logradouro":{"type":["string","null"]},"numero":{"type":["string","null"]},"complemento":{"type":["string","null"]},"bairro":{"type":["string","null"]},"cep":{"type":["string","null"]}}},"telefone":{"type":["string","null"]},"email":{"type":"string"},"ambiente":{"type":"string","enum":["homologacao","producao"]},"certificado":{"$ref":"#/components/schemas/CertificadoStatus"},"bloqueios_producao":{"type":"array","items":{"type":"string"},"description":"O que ainda impede a produção"},"ativo":{"type":"boolean"},"criado_em":{"type":"string","format":"date-time"}}},"EmpresaCampos":{"type":"object","properties":{"razao_social":{"type":"string","maxLength":60},"nome_fantasia":{"type":["string","null"]},"ie":{"type":["string","null"],"description":"2 a 14 dígitos"},"im":{"type":["string","null"]},"cnae":{"type":["string","null"],"description":"7 dígitos"},"regime":{"type":"string","enum":["mei","simples","simples_excesso","presumido","real"]},"industrial":{"type":"boolean"},"p_cred_sn":{"type":["number","null"],"minimum":0,"maximum":100,"description":"% de crédito do Simples (CSOSN 101); só Simples/MEI"},"uf":{"type":"string","minLength":2,"maxLength":2},"codigo_municipio":{"type":["string","null"],"description":"IBGE, 7 dígitos; se faltar, descoberto pelo CEP"},"municipio":{"type":"string"},"logradouro":{"type":"string"},"numero":{"type":"string"},"complemento":{"type":["string","null"]},"bairro":{"type":"string"},"cep":{"type":"string","description":"8 dígitos, com ou sem máscara"},"telefone":{"type":["string","null"]},"email":{"type":"string","format":"email"}}},"EmpresaEntrada":{"allOf":[{"$ref":"#/components/schemas/EmpresaCampos"},{"type":"object","required":["cnpj","razao_social","regime","uf","municipio","logradouro","numero","bairro","cep","email"],"properties":{"cnpj":{"type":"string","description":"Numérico ou alfanumérico, com dígito verificador. Único na plataforma"},"arquivo_certificado_base64":{"type":"string","description":"Certificado A1 (.pfx) em base64; vai junto de `senha_certificado`"},"senha_certificado":{"type":"string"}}}],"unevaluatedProperties":false},"EmpresaAtualizacao":{"allOf":[{"$ref":"#/components/schemas/EmpresaCampos"},{"type":"object","properties":{"ativo":{"type":"boolean"}}}],"unevaluatedProperties":false},"CertificadoEntrada":{"type":"object","required":["arquivo_certificado_base64","senha_certificado"],"properties":{"arquivo_certificado_base64":{"type":"string","description":".pfx/.p12 em base64, até 200 KB"},"senha_certificado":{"type":"string"}}},"CertificadoStatus":{"type":"object","properties":{"instalado":{"type":"boolean"},"valido_ate":{"type":["string","null"]},"dias_restantes":{"type":["integer","null"]},"vencido":{"type":"boolean"}}},"SerieNumeracao":{"type":"object","properties":{"cnpj":{"type":"string"},"ambiente":{"type":"string","enum":["homologacao","producao"]},"serie":{"type":"integer","minimum":0,"maximum":889},"ultimo_numero":{"type":"integer","description":"0 = nenhuma nota ainda"},"proximo_numero":{"type":"integer"}}},"Numeracao":{"type":"object","properties":{"cnpj":{"type":"string"},"ambiente":{"type":"string","enum":["homologacao","producao"]},"series":{"type":"array","items":{"type":"object","properties":{"serie":{"type":"integer"},"ultimo_numero":{"type":"integer","description":"0 = nenhuma nota ainda"},"proximo_numero":{"type":"integer"}}}}}},"ProximoNumeroEntrada":{"type":"object","required":["proximo_numero"],"properties":{"proximo_numero":{"type":"integer","description":"Número da PRÓXIMA nota da série; só pode ser maior que o último já usado","minimum":1,"maximum":999999999}}},"CertificadoInstalado":{"type":"object","properties":{"empresa":{"type":["string","null"]},"cnpj":{"type":["string","null"]},"valido_ate":{"type":"string"},"dias_restantes":{"type":"integer"}}},"Produto":{"type":"object","properties":{"sku":{"type":"string"},"descricao":{"type":"string"},"ncm":{"type":"string"},"cest":{"type":["string","null"]},"origem":{"type":"integer","minimum":0,"maximum":8},"unidade":{"type":"string"},"gtin":{"type":["string","null"]},"producao_propria":{"type":"boolean"}}},"ProdutoEntrada":{"type":"object","required":["descricao","ncm"],"additionalProperties":false,"properties":{"sku":{"type":"string","description":"Se vier, igual ao da URL"},"descricao":{"type":"string","maxLength":120},"ncm":{"type":"string","description":"8 dígitos"},"cest":{"type":["string","null"],"description":"7 dígitos"},"origem":{"type":"integer","description":"Padrão 0","minimum":0,"maximum":8},"unidade":{"type":"string","description":"Padrão UN"},"gtin":{"type":["string","null"],"description":"GTIN-8/12/13/14 com dígito verificador"},"producao_propria":{"type":"boolean","description":"Padrão falso (revenda: CFOP x102)"}}},"ProdutoImportacao":{"allOf":[{"$ref":"#/components/schemas/ProdutoEntrada"},{"required":["sku"]}]},"NfeEntrada":{"type":"object","required":["nome_destinatario","uf_destinatario","items","formas_pagamento"],"additionalProperties":false,"properties":{"cnpj_emitente":{"type":"string","description":"Empresa que emite; dispensável se a conta tem uma só"},"serie":{"type":"integer","description":"Série em que a nota sai (0 a 889). Padrão 1; o próximo número de cada série se configura em /empresas/{cnpj}/series","minimum":0,"maximum":889},"natureza_operacao":{"type":"string","description":"Padrão da configuração","maxLength":60},"tipo_documento":{"type":"integer","enum":[1],"description":"Só 1 (saída)"},"finalidade_emissao":{"type":"integer","enum":[1],"description":"Só 1 (normal); devolução ainda não"},"local_destino":{"type":"integer","enum":[1,2],"description":"Precisa bater com as UFs"},"consumidor_final":{"type":"integer","enum":[0,1],"description":"Padrão 1 para não contribuinte, 0 para contribuinte"},"presenca_comprador":{"type":"integer","enum":[0,1,2,3,4,5,9]},"modalidade_frete":{"type":"integer","enum":[0,1,2,3,4,9]},"valor_frete":{"type":"number","minimum":0,"description":"Rateado entre os itens"},"valor_seguro":{"type":"number","minimum":0,"description":"Rateado"},"valor_desconto":{"type":"number","minimum":0,"description":"Rateado"},"valor_outras_despesas":{"type":"number","minimum":0,"description":"Rateado"},"valor_total":{"type":"number","minimum":0,"description":"Confere com o total calculado (com IPI): se não fechar, 422"},"valor_produtos":{"type":"number","minimum":0,"description":"Confere com a soma dos itens"},"informacoes_adicionais_contribuinte":{"type":"string","maxLength":2000},"cnpj_intermediador":{"type":"string","description":"Marketplace; liga o indicador de intermediador"},"identificador_intermediador":{"type":"string"},"nome_destinatario":{"type":"string"},"cpf_destinatario":{"type":"string","description":"Exatamente um entre CPF e CNPJ"},"cnpj_destinatario":{"type":"string"},"inscricao_estadual_destinatario":{"type":"string","description":"Dígitos ou ISENTO"},"indicador_inscricao_estadual_destinatario":{"type":"integer","enum":[1,2,9]},"logradouro_destinatario":{"type":"string"},"numero_destinatario":{"type":"string","description":"Padrão S/N"},"complemento_destinatario":{"type":"string"},"bairro_destinatario":{"type":"string"},"municipio_destinatario":{"type":"string"},"codigo_municipio_destinatario":{"type":"string","description":"IBGE; se faltar, descoberto pelo CEP"},"uf_destinatario":{"type":"string"},"cep_destinatario":{"type":"string"},"pais_destinatario":{"type":"string","description":"Só Brasil"},"telefone_destinatario":{"type":"string"},"email_destinatario":{"type":"string","format":"email"},"data_emissao":{"type":"string","description":"Aceito e IGNORADO: a nota usa o horário da emissão","format":"date-time"},"data_entrada_saida":{"type":"string","description":"Aceito e IGNORADO","format":"date-time"},"nome_emitente":{"type":"string","description":"Aceito e IGNORADO: os dados do emitente vêm do cadastro da empresa"},"items":{"type":"array","minItems":1,"maxItems":990,"items":{"$ref":"#/components/schemas/NfeItem"}},"formas_pagamento":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/NfePagamento"}}}},"NfeItem":{"type":"object","required":["codigo_produto","quantidade_comercial","valor_unitario_comercial"],"additionalProperties":false,"properties":{"numero_item":{"type":"integer","description":"Se vier, a posição do item (1, 2...)"},"codigo_produto":{"type":"string","description":"SKU; também a chave do catálogo da empresa","maxLength":60},"descricao":{"type":"string","description":"Se faltar, vem do catálogo"},"codigo_ncm":{"type":"string","description":"8 dígitos; se faltar, vem do catálogo"},"icms_origem":{"type":"integer","description":"0-8; se faltar, vem do catálogo","minimum":0,"maximum":8},"unidade_comercial":{"type":"string","description":"Padrão UN"},"quantidade_comercial":{"type":"number","exclusiveMinimum":0,"description":"Até 4 casas"},"valor_unitario_comercial":{"type":"number","minimum":0,"description":"Até 10 casas"},"valor_bruto":{"type":"number","minimum":0,"description":"Padrão quantidade x preço; tolerância de R$ 0,01"},"unidade_tributavel":{"type":"string","description":"Só aceito se igual ao comercial"},"quantidade_tributavel":{"type":"number","description":"Só aceito se igual ao comercial"},"valor_unitario_tributavel":{"type":"number","description":"Só aceito se igual ao comercial"},"inclui_no_total":{"type":"integer","enum":[1]},"valor_desconto":{"type":"number","minimum":0},"valor_frete":{"type":"number","minimum":0},"valor_seguro":{"type":"number","minimum":0},"valor_outras_despesas":{"type":"number","minimum":0},"codigo_barras_comercial":{"type":"string","description":"GTIN válido ou SEM GTIN"},"codigo_cest":{"type":"string","description":"7 dígitos"},"producao_propria":{"type":"boolean","description":"Padrão revenda"},"cfop":{"type":"string","description":"Modo híbrido: vale mais que as regras. 5xxx interna, 6xxx interestadual","pattern":"^[0-9]{4}$"},"icms_situacao_tributaria":{"type":"string","description":"Modo híbrido: CSOSN (3 dígitos) no Simples/MEI, CST (2 dígitos) nos outros regimes"},"icms_aliquota":{"type":"number","minimum":0,"maximum":100},"icms_reducao_base_calculo":{"type":"number","minimum":0,"maximum":100},"fcp_aliquota":{"type":"number","minimum":0,"maximum":100},"icms_difal":{"type":"boolean","description":"false desliga o DIFAL"},"pis_situacao_tributaria":{"type":"string"},"pis_aliquota_porcentual":{"type":"number"},"cofins_situacao_tributaria":{"type":"string"},"cofins_aliquota_porcentual":{"type":"number"},"ipi_situacao_tributaria":{"type":"string"},"ipi_aliquota":{"type":"number"}},"description":"Valores de imposto (icms_valor, icms_base_calculo, pis_valor...) são RECUSADOS: a API calcula os valores a partir dos parâmetros informados."},"NfePagamento":{"type":"object","required":["forma_pagamento"],"additionalProperties":false,"properties":{"forma_pagamento":{"type":"string","description":"tPag: 01, 03, 04, 15, 17, 90, 99..."},"valor_pagamento":{"type":"number","minimum":0,"description":"Obrigatório com 2 ou mais formas; a soma tem que fechar com a nota"},"descricao_pagamento":{"type":"string","description":"Obrigatória no 99"},"indicador_pagamento":{"type":"integer","enum":[0,1],"description":"0 à vista, 1 a prazo"},"tipo_integracao_pagamento":{"type":"integer","enum":[1,2],"description":"Cartão: 1 integrado, 2 não integrado"},"cnpj_credenciadora":{"type":"string","description":"Cartão integrado"},"bandeira_operadora":{"type":"string","description":"Cartão integrado: 01 Visa, 02 Mastercard..."},"numero_autorizacao":{"type":"string","description":"Cartão integrado"}}},"Nfe":{"type":"object","properties":{"cnpj_emitente":{"type":"string"},"ref":{"type":"string"},"ambiente":{"type":"string","enum":["homologacao","producao"]},"status":{"type":"string","enum":["processando_autorizacao","autorizado","erro_autorizacao","erro_validacao","denegado","cancelado","inutilizado"]},"numero":{"type":"string"},"serie":{"type":"string"},"chave_nfe":{"type":["string","null"]},"protocolo_sefaz":{"type":["string","null"]},"status_sefaz":{"type":["string","null"]},"mensagem_sefaz":{"type":["string","null"]},"mensagem":{"type":["string","null"],"description":"Por que a nota está parada ou foi recusada"},"valor_total":{"type":"number"},"autorizada_em":{"type":["string","null"]},"caminho_xml_nota_fiscal":{"type":["string","null"]},"caminho_danfe":{"type":["string","null"]},"eventos":{"type":"array","items":{"$ref":"#/components/schemas/NfeEvento"}}}},"NfeEvento":{"type":"object","properties":{"id":{"type":"integer"},"tipo":{"type":"string","enum":["cancelamento","carta_correcao"]},"sequencia":{"type":"integer"},"status":{"type":"string","enum":["processando","registrado","recusado"]},"texto":{"type":"string"},"protocolo_sefaz":{"type":["string","null"]},"status_sefaz":{"type":["string","null"]},"mensagem_sefaz":{"type":["string","null"]},"solicitado_em":{"type":"string"},"caminho_xml":{"type":["string","null"]}}},"Inutilizacao":{"type":"object","properties":{"id":{"type":"integer"},"cnpj":{"type":"string"},"ambiente":{"type":"string"},"serie":{"type":"string"},"numero_inicial":{"type":"string"},"numero_final":{"type":"string"},"status":{"type":"string","enum":["processando_autorizacao","autorizado","erro_autorizacao"]},"justificativa":{"type":"string"},"protocolo_sefaz":{"type":["string","null"]},"status_sefaz":{"type":["string","null"]},"mensagem_sefaz":{"type":["string","null"]},"solicitado_em":{"type":"string"},"caminho_xml":{"type":["string","null"]}}},"WebhookEntrada":{"type":"object","required":["url"],"additionalProperties":false,"properties":{"url":{"type":"string","description":"https, sem usuário/senha, host com IP público","maxLength":500},"eventos":{"type":["array","null"],"items":{"type":"string","enum":["nfe.autorizada","nfe.rejeitada","nfe.pendente","nfe.denegada","nfe.cancelada","nfe.cancelamento_recusado","nfe.cce_registrada","nfe.cce_recusada","nfe.inutilizada","inutilizacao.registrada","inutilizacao.recusada"]},"description":"Omitido ou nulo = todos"},"cnpj_emitente":{"type":["string","null"],"description":"Restringe a uma empresa; omitido ou nulo = todas da conta"},"descricao":{"type":["string","null"]},"ativo":{"type":"boolean"}}},"Webhook":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"eventos":{"type":["array","null"],"items":{"type":"string"}},"cnpj_emitente":{"type":["string","null"]},"descricao":{"type":["string","null"]},"ativo":{"type":"boolean"},"criado_em":{"type":"string"}}},"WebhookComSegredo":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"segredo":{"type":"string","description":"whsec_...: mostrado só agora"}}}]},"Entrega":{"type":"object","properties":{"id":{"type":"integer"},"evento":{"type":"string"},"evento_id":{"type":"string","description":"O mesmo em todas as tentativas e reenvios"},"status":{"type":"string","enum":["pendente","entregue","falhou"]},"tentativas":{"type":"integer"},"proxima_tentativa_em":{"type":["string","null"]},"ultimo_status_http":{"type":["integer","null"]},"ultimo_erro":{"type":["string","null"]},"ultima_resposta":{"type":["string","null"]},"entregue_em":{"type":["string","null"]},"criado_em":{"type":"string"}}},"WebhookEnvelope":{"type":"object","properties":{"id":{"type":"string","description":"Deduplique por ele","format":"uuid"},"evento":{"type":"string"},"criado_em":{"type":"string","format":"date-time"},"cnpj_emitente":{"type":"string"},"ref":{"type":"string","description":"Ausente nos eventos de inutilização"},"evento_id":{"type":"integer","description":"Nos eventos de CC-e e cancelamento recusado: o id em `dados.eventos`"},"dados":{"description":"A nota (Nfe) nos eventos nfe.*, a inutilização nos eventos inutilizacao.*","oneOf":[{"$ref":"#/components/schemas/Nfe"},{"$ref":"#/components/schemas/Inutilizacao"},{"type":"object"}]}}},"Requisicao":{"type":"object","properties":{"id":{"type":"string","description":"= cabeçalho X-Request-Id","format":"uuid"},"metodo":{"type":"string"},"caminho":{"type":"string"},"status":{"type":"integer"},"duracao_ms":{"type":"integer"},"chave":{"type":["string","null"],"description":"Prefixo da chave de API usada"},"ip":{"type":["string","null"]},"user_agent":{"type":["string","null"]},"criada_em":{"type":"string"}}}}}}