Browse by Category
Explore the five classes of HTTP status codes.
1xx Informational
The request was received, continuing process.
2xx Success
The action was successfully received, understood, and accepted.
3xx Redirection
Further action must be taken in order to complete the request.
4xx Client Error
The request contains bad syntax or cannot be fulfilled.
5xx Server Error
The server failed to fulfil an apparently valid request.
Featured Status Codes
View all status codes →Continue
The initial part of the request was received; the client should proceed with sending the body.
Switching Protocols
The server accepts the request to upgrade the connection to a different protocol.
Processing
The server has received and is processing the request, but no response is available yet.
Early Hints
Allows the server to send Link headers before the main response, prompting the browser to preload assets.
Common Developer Mistakes
Returning 200 OK for Errors
APIs that return a 200 status code with an error payload break standard HTTP semantics and confuse caching layers.
Confusing 401 vs 403
401 means "Unauthenticated" (who are you?), while 403 means "Unauthorized" (you don't have permission).
Misusing 404 for Invalid Methods
If the URL exists but the HTTP method (e.g. POST) is wrong, return 405 Method Not Allowed, not 404.
// ❌ BAD
HTTP/1.1 200 OK
{
"success": false,
"error": "User not found"
}// ✅ GOOD
HTTP/1.1 404 Not Found
{
"error": {
"code": "user_not_found",
"message": "The requested user does not exist."
}
}Ready to level up your APIs?
Stop guessing and start implementing perfect HTTP semantics today.
Explore Client Errors