You can make it idempotent again by requiring API users to use an If-Match header with the ETag of the state they're currently expecting.
Also allows you to implement optimistic concurrency. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If...