Update the quantity, price, and/or plan of a user’s subscription.
curl -X POST \ -d 'vendor_id=123' \ -d 'vendor_auth_code=456bd...' \ -d 'subscription_id=12345' \ -d 'quantity=7' \ -d 'recurring_price=11.00' \ -d 'currency=USD' \ https://vendors.paddle.com/api/2.0/subscription/users/update
- Subscribers on non-quantity plans can move to quantity plans but not the inverse.
- Subscribers must be billed immediately when moving to a plan with a different billing interval.
- Subscribers cannot be moved to a plan where the current currency is not enabled.
- Subscribers cannot be moved to a different plan whilst on trialing status.
- Subscribers in a paused state cannot be modified until they restart their subscription.
- Subscribers in a past due state can only have the
- The currency of an existing subscription cannot be changed.
- Recurring coupons (if present) will be removed when this API is used.
The vendor ID identifies your seller account. This can be found in Developer Tools > Authentication.
The vendor auth code is a private API key for authenticating API requests. This key should never be used in client side code or shared publicly. This can be found in Developer Tools > Authentication.
The ID of the subscription you’re updating.
The new quantity to be applied to a quantity enabled subscription.
Optional, but required if setting
recurring_price. The currency that the recurring price should be charged in. E.g.
EUR, etc. This must be the same as the currency of the existing subscription.
The new recurring price per unit to apply to a quantity enabled subscription. Please note this is a singular price, i.e
If the subscription should bill for the next interval at the revised figures immediately.
The new plan ID to move the subscription to.
Whether the change in subscription should be prorated.
Retain the existing modifiers on the user subscription.
Update the additional data associated with this subscription, like additional features, add-ons and seats. This will be included in all subsequent webhooks, and is often a JSON string of relevant data.
Whether a subscription should be paused or restarted. If the subscription is not paused and this is set to
true, the subscription status will be changed to “paused” when the subscription’s next payment date is reached.
An unsuccessful call to the Dashboard API will return a 200 response containing a field
success set to
false and an error object.