Concurrency control

To make sure that API clients do not overwrite each other's data, this API supports optimistic concurrency control for PUT operations by including an Etag header. When the client updates a resource, it can include an optional If-Match header with the ETag header value it received from the GET. When the client provides an If-Match header, the request succeeds if the state matches what the client is updating as indicated by the ETag; otherwise it issues a 412 error.