Użyj unique constraint na idempotency key (albo naturalnym kluczu) i zrób upsert/insert z obsługą konfliktu. Jeśli ten sam request przyjdzie drugi raz, zapis stanie się no-opem albo zaktualizuje ten sam wiersz zamiast tworzyć duplikat.