Códigos de status HTTP

Os seguintes códigos de status podem ser retornados em respostas HTTP.

Código HTTP Descrição HTTP Observações
2xx OK Não é um erro. Retornado quando bem-sucedido. Ele também deve ser usado para falhas de lógica de negócios (por exemplo, booking_failure em CreateBookingResponse é preenchido)
400 Solicitação inválida Solicitação/argumentos inválidos (comerciante, serviço, espaço não encontrado, tentativa de reservar um espaço inválido, cancelamento de um agendamento que nunca existiu).
401 Não autorizado Não autenticado (credenciais inválidas, nova tentativa de login). A solicitação não tem credenciais de autenticação válidas para a operação.
403 Proibido Permissão negada/proibida (o autor da chamada é conhecido e rejeitado). Essa resposta não pode ser usada para rejeições causadas pelo esgotamento de algum recurso. Em vez disso, use Too Many Requests para esses erros. Forbidden não poderá ser usado se o autor da chamada não for identificado. Em vez dele, use Unauthorized para esses erros.
404 Não encontrado Não encontrado (recurso não encontrado, URL inválido, inclusão de RPCs inválidas)
409 Conflito A operação foi cancelada, normalmente devido a um problema de simultaneidade, como falha na verificação do sequenciador ou cancelamento da transação.
429 Há muitas solicitações Houve o esgotamento de algum recurso, como uma cota por usuário. Também é possível que todo o sistema de arquivos esteja sem espaço.
499 Solicitação encerrada pelo cliente A operação foi cancelada, geralmente pelo autor da chamada.
500 Erro interno do servidor Erros internos. Isso significa que algumas invariantes esperadas pelo sistema subjacente foram corrompidas. Este código de erro é reservado para erros graves.
501 Não implementado A operação não foi implementada ou não é compatível/ativada neste serviço.
503 Serviço não disponível O serviço não está disponível no momento. Muito provavelmente, trata-se de uma condição temporária, que pode ser corrigida ao tentar novamente com uma retirada.
504 Tempo limite de gateway O prazo expirou antes do término da operação. Para operações que mudam o estado do sistema, esse erro pode ser retornado mesmo que a operação tenha sido concluída com sucesso. Por exemplo, uma resposta bem-sucedida de um servidor pode ter sido atrasada tempo suficiente para que o prazo expirasse.

Às vezes, vários códigos de erros podem ser aplicados. Os serviços retornam o código de erro mais específico aplicável.