Update a subscription
Updates an existing subscription to a new plan, charge period, and/or features. Set paymentBehavior to activate_on_payment when the change should take effect only after payment succeeds.
Warning: Free plans are created as one-time charges. Upgrading from a free plan is not supported via this endpoint. Use the Create Checkout Session endpoint instead.
Authorizations
The Server API Key obtained from the kelviq application. Pass as a Bearer token in the Authorization header. Example: 'Authorization: Bearer YOUR_API_KEY'
Path Parameters
The unique identifier of the subscription to be updated. Example UUID from docs: 78058918-9746-4280-9b9b-1bd5115eec6e
Body
The identifier of the new plan.
"new_plan_enterprise"
The new charging period for the subscription.
ONE_TIME, MONTHLY, YEARLY, WEEKLY, DAILY, TWENTY_EIGHT_DAYS, THREE_MONTHS, SIX_MONTHS "YEARLY"
List of features and quantities to update for the subscription.
The IP Address of the customer, for location-based pricing.
"103.154.35.20"
Controls the trial period for the updated subscription. Accepts either the literal string "now" to end any active trial immediately, or an ISO 8601 datetime string (e.g. "2027-12-31 23:59:59") to set a new trial end date. The datetime must be in the future. If omitted, the existing trial behavior is preserved.
"2027-12-31 23:59:59"
Controls when a paid subscription update takes effect. Set to "activate_on_payment" to keep the current subscription active while payment is pending and apply the new plan, charge period, and features only after payment succeeds. If payment is not completed, the pending update expires and the current subscription remains unchanged. If omitted, the update uses the default immediate behavior.
activate_on_payment "activate_on_payment"
Response
UUID of the updated subscription
"dffaf07e-4517-47db-ba3a-59a05aa2d465"