Status code 428 is intended to prevent the 'lost update' problem. This problem arises when a client makes a GET request on a given resource's state, changes said state, and PUTs it back. And at the same time another client has made a change on the same resource on the server.