Mientras redactaba un artículo sobre la nueva función de claves de idempotencia de Hatchet, el cofundador Alexander Belanger se planteó una pregunta aparentemente trivial: ¿cuál fue la primera clave de idempotencia? Estos identificadores únicos permiten a los manejadores de API desduplicar mensajes entregados más de una vez: un apaño necesario porque la entrega exactly-once es imposible en sistemas distribuidos, y el procesamiento exactly-once debe añadirse aparte.

Al preguntar a Claude, obtuvo primero la respuesta segura de sí misma «hacia 2011, con la cabecera Idempotency-Key de Stripe», que el modelo retiró tras un farol del autor, admitiendo que no existe ningún registro autorizado de una «primera» clave. La cabecera de Stripe data aparentemente de alrededor de 2015, y Stripe popularizó el nombre. El ClientToken de AWS EC2 ofrecía un comportamiento similar: repetir una petición con el mismo token y parámetros devuelve el resultado original; modificar los parámetros produce un error IdempotentParameterMismatch. Este patrón se codificó recientemente en un borrador del IETF para una cabecera HTTP Idempotency-Key, que también reconoce el Internet-Draft «POST Once Exactly» (POE) de Mark Nottingham, de 2005. Con POE, el cliente realiza primero un GET para obtener una URL de POST de un solo uso: la parte única de la URL actúa como clave de idempotencia de facto. POE tuvo escasa adopción.

Más atrás aún, las guerras de especificaciones de principios de los 2000 produjeron enfoques a nivel de transporte: la especificación OASIS ebXML Message Service y WS-ReliableMessaging (copublicada por Microsoft, IBM, BEA y TIBCO) implementaban la desduplicación de mensajes en la capa de transporte cuando un servicio declaraba NoDuplicateDelivery, a diferencia del estilo REST, donde la capa de aplicación gestiona una cabecera personalizada.

Tras breves digresiones sobre los quipus incas y las varas de talla medievales —ambos, en cierto modo, sistemas antiduplicados—, el autor impuso una nueva regla: la respuesta debe involucrar computadoras electrónicas. Eso lo llevó al artículo «Implementing Remote Procedure Calls» de Birrell y Nelson (1984), del Xerox PARC, basado en la tesis doctoral de Nelson, quien acuñó el término RPC. El identificador de llamada descrito en el artículo permite al llamante asociar los resultados con sus llamadas y al receptor descartar paquetes de llamada duplicados mediante una tabla con los últimos números de secuencia invocados. El autor admite que quizá no sea el ejemplo más antiguo en absoluto, pero es el más antiguo que encontró.