# One-time voucher codes

One-time voucher codes are automatically generated by the Loyalty Engine when a user redeems a reward configured with this code type. Each code is unique, tracked per user, and validated in real time by your POS, e-commerce platform, or any integrated system using the [Validate voucher code](https://docs.whitelabel-loyalty.com/rewards.html#commands-voucher-validations-post) API endpoint.

#### When to use one-time voucher codes

This code type is ideal for integrated setups where your POS or e-commerce system can query the WLL API in real time to validate codes. It ensures tight control, security, and traceability.

<table><thead><tr><th valign="top">Advantages of one-time voucher codes</th><th valign="top">Disadvantages of one-time voucher codes</th></tr></thead><tbody><tr><td valign="top"><ul><li><strong>Real-time validation:</strong> POS or external systems can check the authenticity of each voucher at the point of redemption.</li><li><strong>Secure and unique:</strong> Each code is single-use and tied to an individual user.</li><li><strong>Centralised reward management:</strong> No need to distribute codes in advance—vouchers are issued and tracked centrally from the Loyalty Console.</li></ul></td><td valign="top"><ul><li>Requires a real-time system integration with the WLL API.</li><li>Codes cannot be pre-defined or customised individually—if you need to upload your own codes, use a code pool instead.</li></ul></td></tr></tbody></table>

***

## Configuration options

### Incentive configuration

Incentive configuration defines the benefit a reward provides—such as a discount or price override—and communicates that logic to external systems, like point-of-sale (POS) platforms, when a one-time voucher code is validated.

See [Discount configuration](/product/loyalty-engine/rewards-and-points/rewards/discount-configuration.md) for more information.

### Custom code format

In the redemption settings for a one-time voucher reward, you can define a format that wraps around the generated portion. Use `{code}` as a placeholder.

> Example:
>
> `PROMO-{code}` → Might generate a code like `PROMO-7HD3XP`

***

## One-time voucher code FAQs

#### Can I view the one-time voucher code given to a user in the Loyalty Console?

Not in the `PURCHASED_REWARD` event. You can find the specific code in the related `REDEEMED_VOUCHER` event.

#### Can I choose or upload my own codes?

No. One-time codes are generated by the Loyalty Engine. If you want to customise the codes given out and still make use of the Loyalty Engine's code validation feature, you can use a [Voucher code pools](/product/loyalty-engine/rewards-and-points/rewards/reward-types/vouchers/voucher-code-pools.md) in combination with the Validate voucher API endpoint.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kbase.whitelabel-loyalty.com/product/loyalty-engine/rewards-and-points/rewards/reward-types/vouchers/one-time-voucher-codes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
