Skip to main content

What you can see

Each redemption of one of your vouchers appears in the provider projection, exactly these fields:
By design, you never see which consumer redeemed, through which channel, for which customer, entity or link, with what metadata, or the void reason. status is completed or voided (voidedAt set); a void by the consumer never returns the voucher to stock.
  • GET /provider/v1/redemptions with filters voucherSetId, voucherId, status, redeemedAt, voidedAt, sorted by redeemedAt.
  • GET /provider/v1/redemptions/{redemptionId} for one.
  • Webhooks redemption-created and redemption-voided carry the same projection.
For incremental sync, filter redeemedAt from the newest value you saw minus 60 seconds, sort by redeemedAt and deduplicate by id (see Syncing large collections).

Statistics

Statistics have no consumer dimension. They are eventually consistent (up to two minutes) and use calendar periods in your partner’s timezone unless you pass another whole-hour timezone.
  • from (inclusive) and to (exclusive) are dates; they are widened to whole buckets and echoed. At most 366 days, 260 weeks or 120 months (range-too-large).
  • voucherSetId takes up to 50 of your set ids, comma-separated.
  • A time zone whose offset is not a whole number of hours (for example Asia/Kolkata) → invalid-timezone; GET /partner/v1/timezones lists the accepted ones.
  • Series are dense (zero buckets included). Voids count in the bucket of voidedAt. faceValue sums the set’s face value in euros at redemption time.

Downloading redemptions

There are no export endpoints. To get redemptions as a file, page through GET /provider/v1/redemptions with perPage=100 and the filters you need, as described in Downloading large lists; the download key of redemptions is redeemedAt. Monthly statistics come from one GET /provider/v1/analytics/redemptions?granularity=month call. The provider dashboard does both for you with “Download CSV / Excel”.