Update the quantity, price, and/or plan of a user’s subscription
curl -X POST -d 'vendor_id=1234567' \ -d 'vendor_auth_code=123456abc...' \ -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 while on a trialing state.
- 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 the subscription.
This is required if all of the following modifications are not specified/empty:
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 quantity unit to apply to the subscription. Please note this is a singular price, i.e
The new plan ID to move the subscription to.
Whether the change in subscription should be prorated.
If the subscription should bill for the next interval at the revised figures immediately.
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.
Pause or restart a subscription. 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 scheduled payment date is reached.
If this is specified, the following modifications cannot be included as well:
An unsuccessful call to the Dashboard API will return a 200 response containing a field
success set to
false and an error object.