What a voucher set is
A voucher set is a collection of vouchers that share content (what consumers see), a voucher kind (code or link), a link format and a schedule. Examples: “€5 ride credit, Q4” with single-use codes, or “Free unlock” with personal deep links.
A set has three parts that change in different ways:
Create a set in
draft; content becomes its draft (partial content is fine):
internalName (1-120 characters) is your own label and never shown to consumers; change it any time with PATCH. Creating a set also creates its stock alert rule. Edit the draft with PATCH /provider/v1/voucher-sets/{voucherSetId} and {"draftContent": {…}} (fields merge) as long as no change request is open.
voucherKind can change only while the set is a draft without vouchers; afterwards → 409 voucher-kind-locked.
Content fields
Every content field is consumer-visible and changes only through an approved change request. Texts are localised maps that must include your partner’s default locale.
Required fields are checked when you submit; drafts may be incomplete.
A voucher set has no terms URL and no app links. Your general terms and privacy pages (
termsUrl, privacyUrl) and your App Store and Google Play links (appLinks) belong to your provider profile: landing pages show them in the voucher details and next to every issued voucher. A voucher set has no button label either: landing pages always show the standard “Redeem”. Sending termsUrl, appLinks or ctaLabel in voucher set content fails with 400 data-failed-validation and the item unknown-field.
Statuses
status is the effective status: a scheduled set whose activeFrom has passed reads active at once, even before the schedule has been applied (which happens within about a minute).
Suspension is AllRide-only (for example while terms are reviewed). You receive the
voucher-set-suspended webhook with suspensionReason. While suspended you cannot activate, schedule, archive, submit content or add vouchers (409 voucher-set-suspended). When AllRide lifts it, the set is inactive with no schedule; schedule it again.
Archiving
POST /provider/v1/voucher-sets/{voucherSetId}:archive archives a draft or inactive set; deactivate an active set first.
- Archiving is terminal: the set cannot be activated, changed or receive vouchers again (409
voucher-set-archived). - Vouchers and redemptions stay readable for reporting; the stock alert rule is disabled.
- Uploads in
pending-uploadorvalidatedare cancelled; an upload still validating or importing → 409voucher-upload-in-progress. An open change request → 409change-request-open(withdraw it first).