Go SDK · Idempotency

The IdempotencyKey field deduplicates retries:

rec.Record(ctx, event.Event{
    Action:         "subscription.created",
    IdempotencyKey: stripeEvent.ID,
    // ...
})

To opt every event into auto-keying — Event.ID is copied into IdempotencyKey at send time when the latter is empty — pass recorder.WithAutoIdempotencyKey() at construction. Caller-supplied keys always win.