- API keys (
Authorization: ApiKey) — para integraciones máquina-a-máquina: ERPs, POS, scripts, webhooks. Es el mecanismo que vas a usar en el 95 % de los casos. - JWT (
Authorization: Bearer <token>) — es el token que emite el panel de e-Miti cuando iniciás sesión. Sólo lo usa la aplicación web del panel para consumir el API en tu nombre. No lo generes vos: se emite y refresca automáticamente durante el uso del panel.
Authorization. Si el header falta o el scheme es desconocido, el API devuelve 401.
API keys
Generar una key
- Iniciá sesión en el panel (emiti.fravelabs.com).
- Andá a Configuración → API Keys.
- Hacé clic en Crear API Key, ponele un nombre descriptivo (
erp-staging,pos-tienda-1, etc.). - Copiá la clave que aparece en el modal. Empieza con el prefijo
emiti_k_.
Usarla en un request
Mandá la clave en el headerAuthorization con scheme ApiKey (case-insensitive):
Authorization: ApiKey <clave>. El scheme ApiKey (así, con mayúscula A y K) es el canónico, aunque el parsing es case-insensitive.
Si la clave es inválida o falta, recibís 401 con este shape:
Alcance
- Las API keys operan sobre tu tenant únicamente. Cualquier request a recursos de otro tenant devuelve 404 (no filtramos por 403 para no confirmar la existencia).
- Los endpoints administrativos (
/v1/admin/tenants/*) no son accesibles con API key — requieren JWT con rol de superadmin.
Rotación y expiración
- Podés setear
expires_atal crear la clave para que caduque automáticamente. Después de esa fecha, todos los requests reciben 401. - Para rotar sin downtime: creá la nueva key, actualizala en tu servicio, y después revocá la vieja.
Revocar una key
Desde el panel: Configuración → API Keys → Revocar. Toma efecto inmediato — el próximo request con esa clave recibe 401. Desde el API:last_used_at para saber hasta cuándo se usó), pero deja de autenticar requests.
JWT (uso del panel)
Cuando iniciás sesión en el panel, e-Miti emite un JWT firmado por Cognito y lo usa para todos los requests que hace en tu nombre. No hace falta que lo manejes vos. Si consumís el API desde tu propia integración, usá una API key. El flujo JWT no está pensado para uso programático directo: los tokens caducan en 1 hora y su renovación es responsabilidad del cliente Cognito.Shape del context inyectado
Cuando un request llega autenticado, el API sabe:
No necesitás manejar estos campos en tu integración — el API los usa internamente para autorización y auditoría.