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.

  • 200 OK The request succeeded and the response carries the result.
  • 201 Created The request succeeded and created a new resource.
  • 202 Accepted The request was accepted for processing, but has not been completed yet.
  • 204 No Content The request succeeded and there is deliberately no response body.

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