Continue
The server has received the request headers and the client may continue sending the body. Used to avoid sending a large payload when the server might reject the request.
Reference
Searchable reference of common HTTP response codes.
The server has received the request headers and the client may continue sending the body. Used to avoid sending a large payload when the server might reject the request.
The server agrees to switch protocols (for example from HTTP to WebSocket) as requested by the Upgrade header.
The server has received and is processing the request, but no response body is available yet. Used for long-running operations.
The request succeeded. The response body typically contains the requested resource or operation result.
The request succeeded and a new resource was created. Often returned after POST with a Location header pointing to the new resource.
The request was accepted for processing but is not completed yet. Common for async jobs and background tasks.
The request succeeded but there is no content to return. Typical for successful DELETE or PUT updates with an empty body.
The resource has permanently moved to a new URL. Clients and search engines should update bookmarks and links to the new address.
The resource is temporarily available at a different URL. Future requests may still use the original URL.
After a POST, the client should fetch the result with GET at the URL given in the Location header.
The cached version is still valid. The server returns no body; the client should use its local cache.
Temporary redirect that preserves the original HTTP method. Unlike older 302 handling, POST stays POST after redirect.
Permanent redirect that preserves the original HTTP method. The client should use the new URL for future requests.
The server cannot process the request due to invalid syntax, missing fields, or malformed JSON. Fix the request and retry.
Authentication is required or has failed. The client should provide valid credentials, often via Authorization header or login.
The server understood the request but refuses to authorize it. The user may be authenticated but lacks permission.
The requested URL or resource does not exist. Check the path, route, or ID — or the item may have been removed.
The HTTP method is not allowed for this endpoint. For example, sending POST where only GET is supported.
The server timed out waiting for the complete request. Often caused by slow uploads or idle connections.
The request conflicts with the current state of the resource. Common when creating duplicates or violating version constraints.
The resource existed but has been permanently removed and will not be available again. Stronger than 404 for deleted content.
The request body is larger than the server is willing to process. Reduce payload size or use chunked upload.
The request URL exceeds the server limit. Shorten query strings or move data into the request body.
The server does not support the request Content-Type. Send JSON, form data, or another format the API accepts.
Defined in RFC 2324 as an April Fools' joke: the server refuses to brew coffee because it is a teapot. Sometimes used in demos.
The request is syntactically valid but semantically incorrect. Typical for validation errors in REST APIs and web forms.
The client has sent too many requests in a given time window. Respect Retry-After and implement backoff or rate limiting.
An unexpected error occurred on the server. Usually not the client's fault — check server logs and retry later.
The server does not support the functionality required to fulfill the request. The method or feature is not implemented.
A gateway or proxy received an invalid response from an upstream server. Often seen behind load balancers when backends fail.
The server is temporarily unavailable, often due to maintenance or overload. Retry after a delay; check Retry-After if present.
A gateway or proxy did not receive a timely response from the upstream server. Indicates backend slowness or network issues.
32 common HTTP status codes
Browse HTTP status codes with this practical reference for API development and debugging. The HTTP status reference explains response classes and common edge cases from informational to server error codes.
Engineers use it to align backend behavior, frontend handling, and monitoring alerts around consistent semantics. Clear status code usage improves observability and client integration reliability.