Rust SDK · Idempotency

Set idempotency_key for caller-supplied stable keys — webhook event IDs, upstream request IDs, anything that identifies "the same logical event" across retries:

let mut e = everscribe::event::Event::new("subscription.created");
e.idempotency_key = stripe_event.id.clone();
rec.record(e).await.ok();

To opt every event into auto-keying (id is copied into idempotency_key at send time when empty), set auto_idempotency_key: true in RecorderOptions. Caller-supplied keys always win.

use everscribe::recorder::RecorderOptions;

let rec = es.new_recorder(RecorderOptions { auto_idempotency_key: true, ..Default::default() });