> ## Documentation Index
> Fetch the complete documentation index at: https://docs.komerza.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enums & Constants

> Every enum value the API accepts and returns

Most enums are **integers** - send and expect the numeric value, not the name. The names below are for readability only; they never appear in a payload. String enums are marked as such.

Order statuses have their own page: [Order Status](/api-reference/payment-status).

## Products

### Privacy

Controls where a product appears and whether it can be bought.

| Value | Name     | Meaning                                                |
| ----- | -------- | ------------------------------------------------------ |
| `0`   | Public   | Visible on the store page and purchasable              |
| `1`   | Unlisted | Hidden from the store page, purchasable via direct URL |
| `2`   | Private  | Hidden entirely, not purchasable                       |
| `3`   | OnHold   | Visible but blocked from purchase                      |

### Product type

| Value | Name         | Meaning                                       |
| ----- | ------------ | --------------------------------------------- |
| `0`   | OneTime      | A single purchase                             |
| `1`   | Subscription | Creates or extends a subscription on delivery |

### Billing interval

Applies to subscription variants.

| Value | Name                          |
| ----- | ----------------------------- |
| `0`   | Weekly                        |
| `1`   | Monthly                       |
| `2`   | Quarterly                     |
| `3`   | Yearly                        |
| `4`   | Custom (interval set in days) |

### Stock calculation mode

| Value | Name       | Meaning                                                         |
| ----- | ---------- | --------------------------------------------------------------- |
| `0`   | Calculated | Stock equals the number of delivery items loaded on the variant |
| `1`   | Ignored    | Stock is not tracked; never out of stock                        |
| `2`   | Fixed      | A number you set and maintain yourself                          |

### Volume discount type

| Value | Name        | Meaning                  |
| ----- | ----------- | ------------------------ |
| `0`   | Percentage  | A percentage off         |
| `1`   | FixedAmount | An amount off per unit   |
| `2`   | FixedPrice  | A replacement unit price |

### Affiliate discount override

Set per product to override the store's default affiliate discount.

| Value | Name       | Meaning                                                    |
| ----- | ---------- | ---------------------------------------------------------- |
| `0`   | UseDefault | Use the store's default discount                           |
| `1`   | Disabled   | No customer discount; the affiliate still earns commission |
| `2`   | Custom     | Use the percentage set on the product                      |

### Delivery types

**String values**, supplied as an array on a variant. A variant can combine several.

| Value           | Delivers                                                               |
| --------------- | ---------------------------------------------------------------------- |
| `license_keys`  | Keys drawn from the variant's inventory                                |
| `files`         | The uploaded file, via a time-limited download link                    |
| `dynamic`       | Whatever your endpoint returns at delivery time                        |
| `instructions`  | A static message included in the delivery email                        |
| `custom_fields` | Not a delivery mechanism - collects answers from the buyer at checkout |

<Warning>
  `keyauth` still appears in some request descriptions. It was removed from the
  product and no longer works - do not send it.
</Warning>

## Orders

### Refund reason

| Value | Name                |
| ----- | ------------------- |
| `0`   | Fraudulent          |
| `1`   | RequestedByCustomer |
| `2`   | Duplicate           |
| `3`   | Other               |

### Refund destination

| Value | Name            | Meaning                             |
| ----- | --------------- | ----------------------------------- |
| `0`   | OriginalMethod  | Reverse through the payment gateway |
| `1`   | CustomerBalance | Issue store credit instead          |

Several payment methods only support `1` - see [Managing Orders](/guides/orders#refunds).

### Custom payment method type

| Value | Name         | Meaning                                            |
| ----- | ------------ | -------------------------------------------------- |
| `0`   | Instructions | Show the buyer instructions to pay outside Komerza |
| `1`   | Redirect     | Send the buyer to a URL you specify                |

## Subscriptions

### Subscription status

| Value | Name     | Meaning                                                |
| ----- | -------- | ------------------------------------------------------ |
| `0`   | Active   | Paid and current                                       |
| `1`   | PastDue  | An automatic charge failed; retries are scheduled      |
| `2`   | Canceled | Ended by the merchant or the customer                  |
| `3`   | Expired  | Retries exhausted, or the period ended without renewal |
| `4`   | Paused   | Resumes automatically at its resume date               |

### Cancel mode

| Value | Name        | Meaning                                      |
| ----- | ----------- | -------------------------------------------- |
| `0`   | AtPeriodEnd | Access continues until the period ends       |
| `1`   | Immediate   | Access is revoked at once, with no proration |

## Discord

### Join mode

| Value | Name                       | Meaning                                                |
| ----- | -------------------------- | ------------------------------------------------------ |
| `0`   | AddAndGrantAfterPayment    | Added to the server and granted the role after payment |
| `1`   | AddOnLinkGrantAfterPayment | Added when they link Discord; role waits for payment   |

### Requirement

| Value | Name     | Meaning                                  |
| ----- | -------- | ---------------------------------------- |
| `0`   | Required | Cannot check out without linking Discord |
| `1`   | Optional | Offered but not enforced                 |
| `2`   | Disabled | Not shown at checkout                    |

### Revocation behavior

Applied when an order is refunded or charged back.

| Value | Name            | Meaning                          |
| ----- | --------------- | -------------------------------- |
| `0`   | RevokeAndRemove | Remove the role and the member   |
| `1`   | RevokeRoleOnly  | Remove the role, keep the member |
| `2`   | DoNothing       | Leave access in place            |

## Customers & support

### Ticket status

| Value | Name              | Meaning                               |
| ----- | ----------------- | ------------------------------------- |
| `0`   | Opened            | Awaiting the seller                   |
| `1`   | Resolved          | Closed, issue sorted. Final           |
| `2`   | Closed            | Closed without resolution. Final      |
| `3`   | Responded         | Seller replied; awaiting the customer |
| `4`   | CustomerResponded | Customer replied; awaiting the seller |

The values are not in flow order: a ticket moves `0` → `3` ⇄ `4` → `1` or `2`.

### Customer segment

Used to target email marketing recipients.

| Value | Name       |
| ----- | ---------- |
| `0`   | All        |
| `1`   | New        |
| `2`   | Active     |
| `3`   | Regulars   |
| `4`   | Vip        |
| `5`   | Affiliates |

### Blacklist type

The kind of value a blacklist rule matches on.

| Value | Name                    |
| ----- | ----------------------- |
| `0`   | EmailAddress            |
| `1`   | EmailDomain             |
| `2`   | IpAddress               |
| `3`   | IpCidr                  |
| `4`   | AutonomousSystemNumber  |
| `5`   | InternetServiceProvider |
| `6`   | CountryCode             |
| `7`   | City                    |

## Email marketing

### Campaign status

| Value | Name         | Meaning                                             |
| ----- | ------------ | --------------------------------------------------- |
| `0`   | Draft        | Editable, not queued                                |
| `1`   | Scheduled    | Queued for a future time; still cancellable         |
| `2`   | Sending      | In progress; cannot be cancelled from the dashboard |
| `3`   | Sent         | Finished                                            |
| `4`   | Cancelled    | Cancelled before sending                            |
| `5`   | Failed       | The reason is not exposed; contact support          |
| `6`   | Under review | Held by automated screening before sending          |

### Recipient send status

Per-recipient outcome within a campaign.

| Value | Name       |
| ----- | ---------- |
| `0`   | Queued     |
| `1`   | Sent       |
| `2`   | Delivered  |
| `3`   | Bounced    |
| `4`   | Complained |
| `5`   | Failed     |

### Suppression type

| Value | Name        | Meaning                   |
| ----- | ----------- | ------------------------- |
| `0`   | Unsubscribe | Removable by the merchant |
| `1`   | HardBounce  | Permanent                 |
| `2`   | Complaint   | Permanent                 |

## Storefront

### Discount dialog trigger

| Value | Name       | Meaning                               |
| ----- | ---------- | ------------------------------------- |
| `0`   | Entrance   | Shown when the visitor arrives        |
| `1`   | ExitIntent | Shown when the visitor moves to leave |

<Note>
  Enums used only by dashboard-internal endpoints - platform billing, passkey
  registration, account standing - are deliberately not listed. They are not
  part of the public API and can change without notice.
</Note>
