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

CausaQué pasa
Sin credencialesLa petición no incluyó Authorization ni sesión
Sesión/token vencidoTu login o JWT expiró
Token / API key inválidoCredencial equivocada, revocada o mal tipeada
Esquema de auth equivocadoEnviar 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

  1. Revisá el formato del header: Authorization: Bearer <token>.
  2. Verificá el token (no vencido, no revocado, firmado con la key correcta).
  3. Leé WWW-Authenticate — el 401 debería decir el esquema esperado.
  4. 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.

Códigos HTTP relacionados