ClickFunnels Discount API
> A reusable, workspace-scoped discount the checkout applies on top of a price. A Discount is the right tool for a coupon code, a percentage/amount off, or a time-boxed sale - anything you would otherwise fake with a second "sale" price. It is one reusable object applied on top of the price, so you can start, scope, and expire it without touching the product's prices. A `code`-type discount (the default) needs a unique `code` that buyers redeem at checkout - letters, numbers and hyphens only. `discount_method` decides which amount field is required: `percentage` needs `percent` (0.01-100); `fixed` needs a positive `amount`. `currency` defaults to the workspace currency and `apply_from` defaults to now, so a discount is live immediately unless you schedule it with a future `apply_from` and/or expire it with `apply_until`. By default a discount applies to `all_products`. Set `applies_to` to `specific_products` / `specific_variants` / `specific_collections` and pass the matching `product_ids` / `variant_ids` / `products_collection_ids` array to scope it. Two lock-out rules govern the end of a discount's life. Once it has been redeemed on an order its money-affecting fields are locked (422 on update) while renaming and expiring still work. Once it has actually expired it is frozen completely - every update returns 422 - so rename before you expire, not after. A discount attached to an order cannot be deleted at all; `redemptions_count` does not predict that, since it only counts completed sales.