A condition in the request headers was not met — almost always an If-Match ETag that no longer reflects the current state of the resource.
The core of optimistic concurrency. If you never see a 412 in testing, your client is probably not sending If-Match at all, and lost updates are going unnoticed.
30 endpoints in this playground answer with 412. Every one is free, needs no signup, and can be called from the browser or with curl.
PUT https://funapi.dev/api/friends/v1/characters/{id} — If-Match does not match current version (Friends API)DELETE https://funapi.dev/api/friends/v1/characters/{id} — If-Match does not match current version (Friends API)DELETE https://funapi.dev/api/superheroes/v1/heroes/{id} — If-Match does not match current version (Superhero API)PUT https://funapi.dev/api/pizza/v1/orders/{id}/status — If-Match does not match current version (Pizza Orders API)PUT https://funapi.dev/api/coffee/v1/orders/{id}/ready — If-Match does not match current version (Coffee Shop API)DELETE https://funapi.dev/api/football/v1/teams/{id} — If-Match does not match current version (Football API)PUT https://funapi.dev/api/movies/v1/movies/{id}/rating — If-Match does not match current version (Movies API)DELETE https://funapi.dev/api/movies/v1/movies/{id} — If-Match does not match current version (Movies API)PUT https://funapi.dev/api/wizarding/v1/students/{id} — If-Match does not match current version (Harry Potter API)DELETE https://funapi.dev/api/wizarding/v1/students/{id} — If-Match does not match current version (Harry Potter API)PUT https://funapi.dev/api/galaxy/v1/characters/{id} — If-Match does not match current version (Star Wars API)DELETE https://funapi.dev/api/galaxy/v1/characters/{id} — If-Match does not match current version (Star Wars API)PUT https://funapi.dev/api/holmes/v1/suspects/{id} — If-Match does not match current version (Sherlock Holmes API)DELETE https://funapi.dev/api/holmes/v1/suspects/{id} — If-Match does not match current version (Sherlock Holmes API)PUT https://funapi.dev/api/pokemon/v1/pokemon/{id} — If-Match does not match current version (Pokémon API)DELETE https://funapi.dev/api/pokemon/v1/pokemon/{id} — If-Match does not match current version (Pokémon API)PUT https://funapi.dev/api/middleearth/v1/fellowship/{id} — If-Match does not match current version (Middle-earth API)DELETE https://funapi.dev/api/middleearth/v1/fellowship/{id} — If-Match does not match current version (Middle-earth API)PUT https://funapi.dev/api/office/v1/employees/{id} — If-Match does not match current version (The Office API)DELETE https://funapi.dev/api/office/v1/employees/{id} — If-Match does not match current version (The Office API)PUT https://funapi.dev/api/dinopark/v1/dinosaurs/{id} — If-Match does not match current version (Dino Park API)DELETE https://funapi.dev/api/dinopark/v1/dinosaurs/{id} — If-Match does not match current version (Dino Park API)PUT https://funapi.dev/api/marvel/v1/heroes/{id} — If-Match does not match current version (Marvel API)DELETE https://funapi.dev/api/marvel/v1/heroes/{id} — If-Match does not match current version (Marvel API)PUT https://funapi.dev/api/got/v1/nobles/{id} — If-Match does not match current version (Game of Thrones API)…and 5 more endpoints across the catalog.
All HTTP status codes · All 37 mock REST APIs · Getting started guide