engineAPIengine·API

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:

ouJWT Bearer Tokenserver-side · expira em 24hPOST /auth/loginemail + passwordBearer TokeneyJhbGci... (JWT)Authorization: Bearer <token>em cada requisiçãoEngine APIaceita e respondeAPI Keyautomações · sem expiraçãoDashboard → API Keysgerar nova chaveek_live_xxxxxxxxxxxxguarde em variável de ambientex-api-key: ek_live_...em cada requisiçãoEngine APIaceita e responde
key

JWT (Bearer Token)

Para integrações server-side. Obtenha via /auth/login e use no header Authorization.

shield-keyhole

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

bash
curl -X POST https://api.engineapi.com.br/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "dev@minhaempresa.com",
    "password": "suaSenha"
  }'
json
{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "partner": { "id": "uuid", "name": "Minha Software House" }
}

Usando o token

bash
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

  1. Acesse o Dashboardapp.engineapi.com.br
  2. Vá em Configurações → API Keys
  3. Clique em Nova API Key
  4. Copie e guarde. Ela é exibida uma única vez

Usando a API Key

bash
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:

font-mono text-sm bg-slate-800 text-blue-300 rounded px-1.5 py-0.5
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.