HTTP 201 Created vs 412 Precondition Failed
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://statuscodefyi.com/iframe/entity//" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://statuscodefyi.com/entity//
Add a dynamic SVG badge to your README or docs.
[](https://statuscodefyi.com/entity//)
Use the native HTML custom element.
HTTP 201 (Created) is a 2xx Success response, while 412 (Precondition Failed) is a 4xx Client Error response. 201 indicates that the request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity. In contrast, 412 means that one or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.
Description
The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.
When You See It
After successfully creating a new user, post, order, or other resource via a REST API.
How to Fix
No fix needed. Check the Location header for the URL of the new resource.
Description
One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.
When You See It
When using conditional requests with ETags and the resource has changed.
How to Fix
Refresh the ETag/Last-Modified value and retry with updated preconditions.
Key Differences
201 is a 2xx Success response, while 412 is a 4xx Client Error response.
HTTP 201: The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.
HTTP 412: One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.
You encounter 201 when after successfully creating a new user, post, order, or other resource via a REST API.
You encounter 412 when when using conditional requests with ETags and the resource has changed.
When to Use Which
For 201 (Created): No fix needed. Check the Location header for the URL of the new resource. For 412 (Precondition Failed): Refresh the ETag/Last-Modified value and retry with updated preconditions.