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.