HTTP 401 Unauthorized (Não autenticado)
Faltam credenciais válidas de autenticação para o recurso.
Ficha rápida
| Código | 401 |
|---|---|
| Nome oficial (em inglês) | Unauthorized |
| Nome em português | Não autenticado |
| Grupo | Erro do cliente (4xx) |
| Definido em | RFC 9110, Section 15.5.2 |
| Quem costuma gerar | O servidor, apontando um problema na requisição enviada pelo cliente. |
O que significa
Apesar do nome em inglês (Unauthorized), significa que faltam credenciais de autenticação válidas: o cliente não se identificou ou a identificação não é aceita. A resposta deve trazer o cabeçalho WWW-Authenticate, que indica como se autenticar.
Quando o servidor devolve esse código
- Token ausente, expirado ou inválido.
- Usuário e senha errados.
Problemas comuns
- Token expirado: é o motivo mais comum em APIs.
- Enviar o token no cabeçalho errado ou sem o prefixo Bearer.
- Usar credenciais de outro ambiente.
Como resolver
- Renove o token e tente de novo.
- Confira o cabeçalho Authorization e o formato.
- Veja o WWW-Authenticate para saber o método esperado.
- Se você está autenticado e mesmo assim não pode acessar, o código certo é 403.
Em automações e integrações
Fluxos que guardam o token em uma variável ou em um segredo falham com 401 quando o token expira. Obtenha uma credencial nova a cada execução, em vez de colar um token fixo.
Não confunda com outros códigos
Não confunda com 403: no 401 falta autenticação; no 403 há autenticação, mas falta permissão.
Exemplo de resposta
HTTP/1.1 401 Unauthorized WWW-Authenticate: Bearer realm="api"
O exemplo é ilustrativo: o corpo e os cabeçalhos reais mudam de servidor para servidor. O código e o nome seguem o padrão HTTP.
Perguntas frequentes
Qual a diferença entre 401 e 403?
No 401, o servidor não sabe quem você é (falta autenticação). No 403, sabe quem você é e mesmo assim recusa (falta permissão).
Por que o nome é Unauthorized?
É um nome histórico. O significado atual é falta de autenticação válida.