# EngineAPI - Motor Fiscal SaaS > Motor Fiscal SaaS B2B2B para Software Houses. Emissao de NFe, NFCe, CTe, MDFe, NFSe e Boletos via API REST. ## Quick Start ```bash npm install @engineapi/sdk ``` ```typescript import { EngineApiClient } from '@engineapi/sdk'; const client = new EngineApiClient({ baseUrl: 'https://api.engineapi.com.br', apiKey: 'ek_live_SUA_KEY', }); const nfe = await client.nfe.emitir({ ... }); ``` ## Authentication Header: `x-api-key: ek_live_UUID` Alternative: `Authorization: Bearer ` (via POST /v1/auth/login) ## SDK Modules - `client.nfe` — NFe (modelo 55) - `client.boleto` — Boletos bancarios - `client.dfe` — Distribuicao de Documentos Fiscais - `client.companies` — Gestao de empresas emissoras ## API Endpoints ### App (1 endpoints) - GET /v1 — ### Prometheus (1 endpoints) - GET /v1/metrics — ### Admin (15 endpoints) - GET /v1/admin/overview — Obter métricas globais - GET /v1/admin/partners — Listar todos os parceiros - POST /v1/admin/partners — Criar novo parceiro com acesso e API Key - GET /v1/admin/partners/{id} — Obter detalhes do parceiro - PATCH /v1/admin/partners/{id} — Atualizar dados do parceiro - DELETE /v1/admin/partners/{id} — Excluir parceiro (soft delete) - PATCH /v1/admin/partners/{id}/status — Atualizar status do parceiro (ACTIVE/SUSPENDED) - GET /v1/admin/partners/{id}/usage — Obter estatísticas de uso do parceiro - POST /v1/admin/partners/{id}/regenerate-api-key — Regenerar API key do parceiro - GET /v1/admin/plans — Listar todos os planos - POST /v1/admin/plans — Criar novo plano - PATCH /v1/admin/plans/{id} — Atualizar plano - DELETE /v1/admin/plans/{id} — Desativar plano (soft delete) - GET /v1/admin/audit — Obter logs de auditoria globais - GET /v1/admin/system/health — Obter status de saúde do sistema ### Companies (7 endpoints) - POST /v1/companies — - GET /v1/companies — - GET /v1/companies/consult/{cnpj} — - GET /v1/companies/{id} — - PATCH /v1/companies/{id} — - DELETE /v1/companies/{id} — - POST /v1/companies/{id}/certificate — ### Consultas (4 endpoints) - GET /v1/queries/cnpj/{cnpj} — Consultar CNPJ - DELETE /v1/queries/cnpj/{cnpj}/cache — Invalidar cache de CNPJ - GET /v1/queries/cpf/{cpf} — Consultar CPF (LGPD) - DELETE /v1/queries/cpf/{cpf} — Excluir dados de CPF (LGPD) ### NFe (16 endpoints) - POST /v1/nfe — - GET /v1/nfe — Listar NFe com paginação e filtros - GET /v1/nfe/{id} — - PATCH /v1/nfe/{id} — - DELETE /v1/nfe/{id} — - POST /v1/nfe/batch — Enfileirar notas para emissão em lote - GET /v1/nfe/queue — Listar fila de emissão do partner - GET /v1/nfe/pdf/{accessKey} — - GET /v1/nfe/xml/{accessKey} — - GET /v1/nfe/cce/{accessKey}/xml — - GET /v1/nfe/cce/{accessKey}/pdf — - POST /v1/nfe/{accessKey}/cancelar — - POST /v1/nfe/{accessKey}/carta-correcao — - GET /v1/nfe/status — - GET /v1/nfe/sefaz-status/{uf} — Status SEFAZ por UF - GET /v1/nfe/sefaz-status — Status SEFAZ de todas as UFs ### Partners (5 endpoints) - GET /v1/partners/profile — Obter perfil do parceiro - PATCH /v1/partners/profile — Atualizar perfil do parceiro - POST /v1/partners/api-key/regenerate — Regenerar API Key - PATCH /v1/partners/webhook — Atualizar Webhook URL - GET /v1/partners/usage — Consultar uso de API ### Auth (5 endpoints) - POST /v1/auth/login — Autenticar usuário - POST /v1/auth/change-password — Alterar senha - POST /v1/auth/register-partner — Registrar novo parceiro - POST /v1/auth/api-keys/regenerate — Regenerar API Key - GET /v1/auth/api-keys/info — Informações da API Key ### Notifications (5 endpoints) - GET /v1/notifications — List notifications (paginated) - GET /v1/notifications/unread-count — Get unread notification count - GET /v1/notifications/stream — SSE stream for real-time notifications - PATCH /v1/notifications/{id}/read — Mark a notification as read - PATCH /v1/notifications/read-all — Mark all notifications as read ### NFCe (6 endpoints) - GET /v1/nfce/status — Verificar status do serviço NFCe - POST /v1/nfce — Emitir NFCe (Modelo 65) - GET /v1/nfce — Listar NFCes com paginação - GET /v1/nfce/pdf/{accessKey} — Download do cupom fiscal (PDF/HTML) - GET /v1/nfce/xml/{accessKey} — Download do XML da NFCe - GET /v1/nfce/{id} — Buscar NFCe por ID ### MDFe (7 endpoints) - GET /v1/mdfe/status — Verificar status do serviço MDFe - POST /v1/mdfe — Emitir MDFe (Modelo 58) - GET /v1/mdfe — Listar MDFes emitidos - GET /v1/mdfe/pdf/{accessKey} — Download do DAMDFE (PDF/HTML) - GET /v1/mdfe/xml/{accessKey} — Download do XML do MDFe - POST /v1/mdfe/{accessKey}/encerrar — Encerrar MDFe autorizado - GET /v1/mdfe/{id} — Buscar MDFe por ID ### CTe (8 endpoints) - GET /v1/cte/status — Verificar status do serviço CT-e na SEFAZ - POST /v1/cte — Emitir CT-e (Modelo 57) - GET /v1/cte — Listar CT-es emitidos - GET /v1/cte/pdf/{accessKey} — Download do DACTE (PDF/HTML) - GET /v1/cte/xml/{accessKey} — Download do XML do CT-e - POST /v1/cte/{accessKey}/cancelar — Cancelar CT-e autorizado - POST /v1/cte/{accessKey}/cce — Carta de Correção do CT-e (CC-e) - GET /v1/cte/{id} — Buscar CT-e por ID ### Webhooks (9 endpoints) - GET /v1/webhooks/config — Obter configuração de webhooks - PATCH /v1/webhooks/config — Atualizar configuração de webhooks - POST /v1/webhooks/test — Enviar webhook de teste - GET /v1/webhooks/logs — Histórico de entregas - POST /v1/webhooks/secret/regenerate — Regenerar webhook secret - GET /v1/webhooks/dlq — Listar Dead Letter Queue - DELETE /v1/webhooks/dlq — Limpar DLQ - POST /v1/webhooks/dlq/{deliveryId}/retry — Reenviar webhook da DLQ - POST /v1/webhooks/dlq/retry-all — Reenviar TODOS da DLQ ### NFSe (6 endpoints) - POST /v1/nfse — Emitir NFSe - GET /v1/nfse — Listar NFSes - GET /v1/nfse/{id} — Detalhes da NFSe - POST /v1/nfse/{id}/cancelar — Cancelar NFSe - GET /v1/nfse/pdf/{id} — Download PDF - GET /v1/nfse/xml/{id} — Download XML ### Analytics (3 endpoints) - GET /v1/analytics/dashboard — Dashboard completo - GET /v1/analytics/invoices-by-period — Notas por período - GET /v1/analytics/audit — Logs de auditoria do parceiro ### Boletos (7 endpoints) - POST /v1/issuers/{issuerId}/bank-accounts — Cadastrar conta bancária para um issuer - GET /v1/issuers/{issuerId}/bank-accounts — Listar contas bancárias de um issuer - POST /v1/boletos — Emitir e registrar boleto online - GET /v1/boletos — Listar boletos de um issuer - GET /v1/boletos/{id} — Consultar boleto por ID - POST /v1/boletos/{id}/cancelar — Cancelar/baixar boleto - GET /v1/boletos/{id}/pdf — Download do PDF do boleto ### CNAB (4 endpoints) - POST /v1/boleto/cnab/remessa/240/{bankAccountId} — Gerar arquivo de remessa CNAB 240 - POST /v1/boleto/cnab/remessa/400/{bankAccountId} — Gerar arquivo de remessa CNAB 400 - POST /v1/boleto/cnab/retorno/240 — Processar arquivo de retorno CNAB 240 - POST /v1/boleto/cnab/retorno/400 — Processar arquivo de retorno CNAB 400 ### Health (1 endpoints) - GET /health — Verificar saúde da aplicação ### Status (2 endpoints) - GET /v1/status — Status page pública - GET /v1/changelog — Changelog público ### DFe Distribuio de Documentos (5 endpoints) - POST /v1/dfe/consultar — Consultar DFe na SEFAZ - GET /v1/dfe — Listar documentos recebidos - GET /v1/dfe/{id} — Detalhes de um documento DFe - POST /v1/dfe/{id}/manifestar — Manifestar documento DFe - GET /v1/dfe/{id}/xml — Download XML do documento DFe ### Billing (6 endpoints) - GET /v1/billing/plans — Listar planos disponíveis - POST /v1/billing/subscribe — Assinar ou alterar plano - GET /v1/billing/invoices — Listar faturas do parceiro - POST /v1/billing/invoices/{id}/boleto — Gerar boleto para fatura existente - POST /v1/billing/webhook/payment — Webhook de confirmação de pagamento (Sicoob) - POST /v1/billing/admin/trigger-billing — [Admin] Executar billing mensal manualmente ## Error Handling EngineApiError class: isValidationError (400), isUnauthorized (401), isRateLimited (429), isNotFound (404), isServerError (500+) ## OpenAPI Spec https://api.engineapi.com.br/v1/api-docs-json ## Documentation https://docs.engineapi.com.br