Una operación es idempotente si aplicarla una o más veces produce el mismo efecto en el estado del sistema. Formalmente, f(f(x)) = f(x). En sistemas distribuidos, la idempotencia es fundamental porque la red puede perder, duplicar o reordenar mensajes, y los clientes pueden reintentar requests sin saber si el original fue procesado.

Técnicas comunes para garantizar idempotencia incluyen: claves de idempotencia (el cliente envía un UUID único por operación, el servidor lo deduplica), operaciones naturalmente idempotentes (PUT reemplaza el recurso completo, DELETE de un ID específico), y control de versiones (rechazar escrituras si la versión no coincide). Stripe, AWS y todas las APIs de pago de producción requieren idempotencia.

Para un arquitecto, la idempotencia es un requisito no negociable en APIs de mutación. Sin ella, los retries automáticos (que toda red distribuida necesita) pueden crear efectos secundarios duplicados: cobros dobles, envíos duplicados, o corrupción de datos. El coste de implementar idempotencia es bajo comparado con el coste de no tenerla.