> Documentation index: [Saleor](/llms.txt) · [This section](/api-reference/discounts/llms.txt)
> Source: https://docs.saleor.io/api-reference/discounts/enums/promo-code-rejection-reason

# PromoCodeRejectionReason Enum

The specific reason why a promo code cannot be applied. A code that has not been proven usable yet is only ever reported as `NOT_FOUND`, `EXPIRED` or `USAGE_LIMIT_REACHED`, so that a rejected code cannot be told apart from one that does not exist. The reason never depends on the caller's permissions.

<a id="values"></a>

### Values

<a id="not-found"></a>

#### [`NOT_FOUND`](#not-found)

No promo code matches the given code. Also reported in place of a reason that may not be disclosed, so this value does not prove that no voucher or gift card exists with that code.

<a id="expired"></a>

#### [`EXPIRED`](#expired)

The voucher's end date, or the gift card's expiry date, is in the past.

<a id="usage-limit-reached"></a>

#### [`USAGE_LIMIT_REACHED`](#usage-limit-reached)

The voucher's total usage limit, summed over all of its codes, is exhausted, or a single-use code was already redeemed.

<a id="not-applicable"></a>

#### [`NOT_APPLICABLE`](#not-applicable)

The promo code exists but cannot be used here. Reported when the reason is specific to the code's configuration rather than to something the customer can change: a voucher limited to staff, to other countries, to another channel or to one use per customer, or a gift card restricted to another customer.

<a id="min-spent-not-reached"></a>

#### [`MIN_SPENT_NOT_REACHED`](#min-spent-not-reached)

The order value is below the voucher's minimum. Populates the `minSpent` field.

<a id="min-quantity-not-reached"></a>

#### [`MIN_QUANTITY_NOT_REACHED`](#min-quantity-not-reached)

The order contains fewer items than the voucher's minimum. Populates the `minCheckoutItemsQuantity` field.

<a id="customer-email-required"></a>

#### [`CUSTOMER_EMAIL_REQUIRED`](#customer-email-required)

The voucher is limited to one use per customer, so a customer email must be set on the checkout before it can be applied.

<a id="shipping-not-required"></a>

#### [`SHIPPING_NOT_REQUIRED`](#shipping-not-required)

The voucher applies to shipping, but nothing in the order requires shipping.

<a id="delivery-method-not-set"></a>

#### [`DELIVERY_METHOD_NOT_SET`](#delivery-method-not-set)

The voucher applies to shipping, but no delivery method is selected yet. Selecting one may make the voucher applicable.

<a id="no-eligible-products"></a>

#### [`NO_ELIGIBLE_PRODUCTS`](#no-eligible-products)

The voucher applies to specific products, collections or categories, and none of the ordered lines match.

<a id="no-longer-available"></a>

#### [`NO_LONGER_AVAILABLE`](#no-longer-available)

The promo code was applicable when it was added to the checkout, but is no longer available.

<a id="member-of"></a>

### Member Of

[`PromoCodeRejectionDetails`](/api-reference/checkout/objects/promo-code-rejection-details.md) object
