July 21, 2026
New Features
Activate Subscription Updates After Payment
POST /subscriptions/{subscriptionId}/update/ now accepts the optional paymentBehavior field. Set it to activate_on_payment to keep the customer’s current subscription active while payment for the change is pending.paymentBehavior preserves the existing immediate-update behavior.July 16, 2026
New Features
List, Create, and Retrieve Refunds
The Refunds API now supports the complete refund workflow:GET /refunds/— List refunds: Returns a paginated list of refunds for the authenticated organization, with search, status, date-range, and pagination filters.POST /refunds/— Create a refund: Creates a full or partial refund for an order. ProvideamountUnitsoramountfor a partial refund, or omit both to refund the remaining balance.GET /refunds/{refundId}/— Retrieve a refund: Returns a refund by its Kelviq UUID.
orderId to identify the order. List results, newly created refunds, and retrieved refunds share the same response format, including the refund amount, reason, status, failure details, internal note, and associated order.July 14, 2026
New Features
Subscription List, Create, and Retrieve APIs
The Subscriptions API now includes three new endpoints for reading and creating subscriptions:GET /subscriptions/— List subscriptions: Retrieves a paginated list for a customer. Thecustomer_idquery parameter is required.POST /subscriptions/create/— Create a subscription: Creates a subscription directly for a customer without requiring a checkout session.GET /subscriptions/{subscriptionId}/— Retrieve a subscription: Retrieves a subscription by its Kelviq UUID.
files— downloadable files attached to the subscription’s plan.links— external links attached to the plan.license— issued licenses associated with the subscription.
One-Time Charges
The newPOST /charges/ endpoint immediately charges a customer’s saved payment method without creating a checkout session. The chargePeriod must be ONE_TIME.May 7, 2026
New Features
Enhanced Checkout Configuration
You can now pass additional configuration parameters when creating a checkout session via the API. These new fields allow for tighter control over the customer experience:lockEmail: When set totrue, the email address field on the checkout page is disabled, preventing customers from changing the email associated with the session.discountsEnabled: A boolean to explicitly allow or disallow discount code application on the checkout page.defaultBillingCountry: Pre-fills the billing country field (e.g.,"IN").
May 7, 2026
New Features
Custom Dynamic Amount Support
Added support for custom dynamic amounts on the checkout page. You can now pass a specificcustom_amount directly via the checkout API, which is ideal for usage-based, variable, or custom-quoted pricing models.-
custom_amount: The specific numeric amount to be charged to the customer. This overrides static plan pricing and is ideal for usage-based, variable, or custom-quoted pricing models. -
tax_behavior: Specifies how taxes should be applied to the custom amount. For example, setting it to “INCLUSIVE” means the tax is already factored into the custom_amount, while “EXCLUSIVE” would add the tax on top of the base amount. -
currency_code: The three-letter ISO currency code (e.g., “INR”, “USD”) that defines the currency in which the custom_amount should be processed.