HTTP status codes
What each code means, what causes it, and whether a client should retry.
2xx · Success
The request was received, understood and accepted.
3xx · Redirection
Further action is needed to complete the request.
- 301 Moved Permanently The resource has permanently moved to the URL in the Location header.
- 302 Found The resource is temporarily at a different URL.
- 304 Not Modified The cached copy is still current, so the server sent no body.
- 307 Temporary Redirect Temporarily at a different URL, and the method and body must be preserved.
- 308 Permanent Redirect Permanently moved, and the method and body must be preserved.
4xx · Client error
The request is faulty - the client must change something.
- 400 Bad Request The server could not understand the request - it is malformed.
- 401 Unauthorized Authentication is required and has failed or not been provided - despite the name, this means unauthenticated.
- 403 Forbidden The server understood the request and is refusing it - authentication will not help.
- 404 Not Found The server has no resource at that URL.
- 405 Method Not Allowed The URL exists but does not support the HTTP method used.
- 409 Conflict The request conflicts with the current state of the resource.
- 410 Gone The resource existed and has been permanently removed.
- 412 Precondition Failed A conditional request's precondition was not met, so the request was not applied.
- 415 Unsupported Media Type The request body's Content-Type is not one the endpoint accepts.
- 422 Unprocessable Entity The request was well-formed but failed validation rules.
- 429 Too Many Requests The client has sent too many requests in a given period and is being rate limited.
- 431 Request Header Fields Too Large The request's headers exceed the size the server is willing to accept.
5xx · Server error
The server failed to fulfil an apparently valid request.
- 500 Internal Server Error The server hit an unexpected condition and could not complete the request.
- 501 Not Implemented The server does not support the functionality required to fulfil the request.
- 502 Bad Gateway A server acting as a gateway received an invalid response from an upstream server.
- 503 Service Unavailable The server is temporarily unable to handle the request - overloaded or down for maintenance.
- 504 Gateway Timeout A gateway timed out waiting for a response from an upstream server.
Related tools
- HTTP status lookup search all codes
- HTTP header parser read a raw header block
- Online cURL client check a live response