Get Voucher Definitions
GET/client/users/:correlation_id/voucher-definitions
GET /voucher-definitions — CUX Voucher Definition Discovery
Returns all PUBLISHED voucher definitions available at the CUX channel for the resolved business unit. This is a discovery surface — it answers "what vouchers exist at this channel?" not "what can I buy with my points right now?" (use voucher-exchange/eligible for that).
Query Parameters
| Param | Required | Default |
|---|---|---|
businessUnit | No (updated 2026-04-26) | When omitted, falls back to the client's default enabled BU server-side (consistent with GET /issuances). |
Filtering (silent — excluded from results, not a 400)
| Filter | Rule |
|---|---|
Status | PUBLISHED only |
BusinessUnit | Must match the resolved BU (either ?businessUnit when supplied, or the default-enabled BU on fallback) |
UsageChannels | Must include "CUX", or be undefined/[] |
Response Shape (updated 2026-04-27)
Flat array of voucher-definition summaries — no envelope. Each item carries its own businessUnit field.
[
{
"voucherDefinitionId": "SUMMER_5OFF",
"businessUnit": "wizard",
"definitionName": "$5 Off Summer",
"rewardType": "DOLLAR_OFF",
"rewardValue": 5,
"rewardMetadata": { "amount": 5, "unit": "FLAT" },
"scope": "CART",
"expiryRule": { "type": "ROLLING", "rollingDays": 30 },
"creative": {
"en-CA": {
"shortDescription1": "$5 Off Your Purchase",
"smallImageURI": "https://cdn.esloyalty.com/wizard/vouchers/summer5off-sm.png"
}
},
"pointValue": 500,
"redeemableValue": 5
}
]
Field notes
voucherDefinitionId— definition ID (differs from Console'sid)businessUnit— echoes the resolved BU regardless of whether the client supplied itrewardValue— resolved top-line number (e.g.5for DOLLAR_OFF)scope— read fromRewardMetadata.scope.typecreative— locale map{ "en-CA": {...}, "fr-CA": {...} }; client resolves display localepointValue— always present;nullwhen the definition is not worth points for reporting/stackingredeemableValue— always present;nullwhen the definition does not participate in points exchange- Admin/operational fields (
status,systemOfRecord,version,basedOn,features) are omitted on this member-facing surface
Error Responses
| HTTP | Code | Condition |
|---|---|---|
| 400 | INVALID_BUSINESS_UNIT | ?businessUnit was supplied with a value the client has not enabled |
| 400 | BUSINESS_UNIT_REQUIRED | Edge case — ?businessUnit omitted AND no default-enabled BU is configured for the client (misconfiguration) |
| 400 | FEATURE_NOT_ENABLED | Voucher feature flag off for this client |
| 401 | — | Invalid/expired session |
Request
Responses
- 200
- 400
- default
200 - Voucher Definitions Found
400 - BUSINESS_UNIT_REQUIRED (misconfig edge case)
400 - Invalid businessUnit