Skip to main content

Idempotency

Idempotency prevents a retried write from performing the same business operation twice. Send a unique Idempotency-Key header for every logical write:

Idempotency-Key: pos-42-reward-1042-redemption-1

The key must contain between 8 and 200 characters. Use an opaque UUID or a stable identifier composed from your system's transaction ID and operation. Never reuse a key for an unrelated request. Keys are isolated per API credential, so separate integrations using separate API keys cannot conflict with one another.

Required operations

An idempotency key is required when you:

  • redeem an issued reward;
  • create an order;
  • issue an issued voucher;
  • redeem an issued voucher;
  • cancel an issued voucher;
  • adjust an issued voucher balance; or
  • send an issued voucher email.

Reward coupon updates also support idempotency and should use a key when they may be retried.

The order-creation requirement applies to managed Developer API keys. Legacy Zapier signing keys remain compatible with Zapier's historical request format, which does not include this header.

Replay behaviour

Remy stores the result for 24 hours. Repeating the same method, URL, body, and key returns the original status and JSON body with:

Idempotency-Replayed: true

Using the same key with a different request returns 409. A concurrent duplicate also returns 409 with Retry-After: 1; wait and retry the same request. Results ending in 5xx are not retained so a corrected retry can be processed.

Idempotency does not replace reconciliation. If a network failure leaves a result uncertain, retrieve the affected order, reward, or voucher before deciding whether another operation is needed.