Autenticación
Dos mecanismos, nunca mezclados en el mismo request:
La key pertenece a una sola empresa y todo se filtra por ese tenant: una
factura ajena responde 404 (nunca 403, para no revelar existencia). La
api_key completa solo se muestra una vez, al crearla.
Máquina-a-máquina
SDK TypeScript
REST API
Con token erróneo, el bootstrap responde 401 en texto plano
(Unauthorized internal request), no el envelope JSON. Tiene rate-limit por IP.
Sesión humana (JWT + membresía)
El JWT identifica al usuario; X-Company-ID elige sobre cuál de sus empresas
opera (validada en DB por request).
SDK TypeScript
REST API
Sin membresía sobre la empresa → 403. Sin X-Company-ID en rutas de negocio → 400.
Ver Errores.

