401 Unauthorized es el error de "por favor logueate". El servidor recibió tu petición pero no puede verificar quién sos — no enviaste credenciales, o las que enviaste son inválidas o vencidas. Es un código 4xx, y la buena noticia es que suele ser fácil de arreglar: autenticate bien.
401 vs 403 — la distinción que confunde a todos
- 401 Unauthorized → "No sé quién sos. Autenticate y reintentá." (a pesar del nombre, es sobre autenticación).
- 403 Forbidden → "Sé quién sos, e igual no podés."
Regla práctica: 401 = ¿quién sos? · 403 = lo sé, y no.
Causas comunes
| Causa | Qué pasa |
|---|---|
| Sin credenciales | La petición no incluyó Authorization ni sesión |
| Sesión/token vencido | Tu login o JWT expiró |
| Token / API key inválido | Credencial equivocada, revocada o mal tipeada |
| Esquema de auth equivocado | Enviar Basic donde la API espera Bearer |
Cómo arreglarlo — como usuario
- Logueate — o salí y volvé a entrar para refrescar una sesión vencida.
- Limpiá cookies si quedó una sesión vieja trabada.
- Revisá usuario/contraseña (y el paso de 2FA).
Cómo arreglarlo — como desarrollador / consumidor de API
- Revisá el formato del header:
Authorization: Bearer <token>. - Verificá el token (no vencido, no revocado, firmado con la key correcta).
- Leé
WWW-Authenticate— el 401 debería decir el esquema esperado. - Refrescá, no hagas loop con el token muerto.
Una oleada repentina de 401 en un endpoint de login puede ser un intento de credential stuffing en curso. Nurbak Watch trackea las tasas de error de auth por endpoint y te avisa al instante; el scanner audita tu autenticación según el checklist de seguridad de APIs.

