Designing Idempotent REST APIs