authentication
title: Autenticação description: JWT e API Keys: como autenticar suas requisições na Engine API.
Autenticação
A Engine API suporta dois métodos de autenticação:
JWT (Bearer Token)
Para integrações server-side. Obtenha via /auth/login e use no header Authorization.
API Key
Para automações e SDKs. Gerada no Dashboard, nunca expira (até ser revogada).
Método 1: JWT (Bearer Token)
Use quando seu backend faz chamadas diretas à API.
Obtendo o token
curl -X POST https://api.engineapi.com.br/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "dev@minhaempresa.com",
"password": "suaSenha"
}'
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"partner": { "id": "uuid", "name": "Minha Software House" }
}
Usando o token
curl -X GET https://api.engineapi.com.br/companies \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
Expiração
| Campo | Valor |
| ----- | ----- |
| Duração | 24 horas |
| Formato | JWT assinado com HS256 |
| Header | Authorization: Bearer <token> |
Nunca exponha seu token no frontend, em logs ou em repositórios públicos. Use variáveis de ambiente.
Método 2: API Key
Use em automações de longa duração, SDKs ou quando não quiser gerenciar expiração de JWT.
Gerando uma API Key
- Acesse o Dashboard → app.engineapi.com.br
- Vá em Configurações → API Keys
- Clique em Nova API Key
- Copie e guarde. Ela é exibida uma única vez
Usando a API Key
curl -X GET https://api.engineapi.com.br/companies \
-H "x-api-key: sk_live_xxxxxxxxxxxxxxxx"
| Propriedade | Detalhe |
| ----------- | ------- |
| Header | x-api-key: sk_live_... |
| Prefixo | sk_live_ (produção) / sk_test_ (sandbox) |
| Expiração | Nunca. Revogue manualmente pelo Dashboard |
Multi-tenancy
Um único token gerencia quantos CNPJs emissores quiser:
Partner (seu token / API key)
├── Empresa A (issuerId: "uuid-a") → emite NFe, NFCe
├── Empresa B (issuerId: "uuid-b") → emite NFSe
└── Empresa C (issuerId: "uuid-c") → emite MDFe
Cada emissão usa o campo issuerId para indicar qual empresa está emitindo.
CNPJs ilimitados em todos os planos pagos. O issuerId é retornado ao criar uma empresa via POST /companies.