Retornos Padrão de APIs REST
Esta tabela descreve os principais códigos de retorno HTTP utilizados em APIs RESTful, agrupados por categoria (1xx, 2xx, 3xx, 4xx, 5xx). Esses códigos indicam o resultado de uma requisição e ajudam o cliente a entender se a operação foi bem-sucedida, redirecionada, inválida ou se houve erro no servidor.
Código |
Descrição |
Explicação |
|---|---|---|
1xx – Informativo |
A requisição foi recebida e o processo continua. |
Usado raramente em APIs REST. Indica que o servidor recebeu a requisição, mas ainda está processando. |
100 Continue |
Continuação |
O cliente deve continuar com a requisição (geralmente após enviar cabeçalhos iniciais). |
101 Switching Protocols |
Mudança de protocolo |
O servidor concorda em mudar o protocolo conforme solicitado no cabeçalho Upgrade. |
102 Processing |
Processando |
Indica que o servidor recebeu a requisição e ainda está processando (usado em WebDAV). |
2xx – Sucesso |
A requisição foi recebida, entendida e aceita com sucesso. |
Esses códigos indicam que o servidor executou corretamente a operação solicitada. |
200 OK |
Sucesso |
A requisição foi bem-sucedida e o servidor retornou o resultado esperado (GET, PUT, PATCH). |
201 Created |
Criado |
Recurso criado com sucesso (comumente em requisições POST). O cabeçalho Location pode indicar a nova URL. |
202 Accepted |
Aceito |
A requisição foi aceita para processamento, mas ainda não concluída. |
204 No Content |
Sem conteúdo |
A requisição foi bem-sucedida, mas não há corpo de resposta (usado em DELETE, PUT). |
206 Partial Content |
Conteúdo parcial |
O servidor retornou parte dos dados solicitados (usado com cabeçalhos Range). |
3xx – Redirecionamento |
Indica que é necessário realizar uma ação adicional para completar a requisição. |
Em APIs REST, redirecionamentos são menos comuns, mas podem ocorrer. |
301 Moved Permanently |
Movido permanentemente |
O recurso foi movido para outra URL; o cliente deve atualizar seus links. |
302 Found |
Encontrado |
O recurso foi temporariamente movido; o cliente deve usar a nova URL apenas nesta requisição. |
303 See Other |
Veja outro |
O cliente deve buscar o recurso em outra URI (usado após POST). |
304 Not Modified |
Não modificado |
Indica que o recurso não mudou desde a última requisição (cache válido). |
307 Temporary Redirect |
Redirecionamento temporário |
Similar a 302, mas o método HTTP deve permanecer o mesmo. |
308 Permanent Redirect |
Redirecionamento permanente |
Similar a 301, mas preserva o método original da requisição. |
4xx – Erro do cliente |
Indica que a requisição contém erro ou está incorreta. |
O cliente deve corrigir a requisição antes de tentar novamente. |
400 Bad Request |
Requisição inválida |
O servidor não pôde processar devido a erro de sintaxe ou parâmetros incorretos. |
401 Unauthorized |
Não autorizado |
Falha na autenticação. Requer credenciais válidas (ex: token JWT expirado). |
403 Forbidden |
Proibido |
O servidor entendeu a requisição, mas o cliente não tem permissão. |
404 Not Found |
Não encontrado |
O recurso solicitado não existe. |
405 Method Not Allowed |
Método não permitido |
O método HTTP usado não é suportado pelo recurso (ex: usar DELETE em endpoint apenas GET). |
409 Conflict |
Conflito |
Ocorreu conflito com o estado atual do recurso (ex: duplicidade de registro). |
410 Gone |
Recurso removido |
O recurso existia, mas foi permanentemente removido. |
422 Unprocessable Entity |
Entidade não processável |
A requisição é bem formada, mas contém erros de validação. |
429 Too Many Requests |
Muitas requisições |
O cliente excedeu o limite de requisições permitido (rate limit). |
5xx – Erro do servidor |
Ocorreu um erro interno ao processar a requisição. |
Esses códigos indicam falhas do lado do servidor, e não do cliente. |
500 Internal Server Error |
Erro interno |
Erro genérico quando algo inesperado ocorre no servidor. |
501 Not Implemented |
Não implementado |
O servidor não suporta o método solicitado. |
502 Bad Gateway |
Gateway inválido |
O servidor intermediário (proxy/gateway) recebeu resposta inválida de outro servidor. |
503 Service Unavailable |
Serviço indisponível |
O servidor está temporariamente fora do ar (sobrecarga ou manutenção). |
504 Gateway Timeout |
Tempo limite do gateway |
O servidor intermediário não recebeu resposta a tempo do servidor de origem. |
505 HTTP Version Not Supported |
Versão HTTP não suportada |
O servidor não suporta a versão do protocolo HTTP usada na requisição. |