Order Information
User History
Prices
Coupons
Products
Licenses
Pay Links
Transactions
Webhooks
post

/2.0/subscription/users/update

Update the quantity, price, and/or plan of a user’s subscription.

Request example:

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

Usage Notes

  • Subscribers on non-quantity plans can move to quantity plans but not the inverse.
  • Subscribers must be billed immediately when moved 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 another plan whilst still on trial or in past due status.
  • The currency of an existing subscription cannot be changed.
  • Recurring coupons will be removed when using the update subscription API.

Request Body

Form data (application/x-www-form-urlencoded)
vendor_id
integer

The vendor ID identifies your seller account. This can be found in Developer Tools > Authentication.

required
minimum: 1
pattern: \d+
vendor_auth_code
string

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.

required
pattern: [0-9a-f]+
subscription_id
integer

The ID of the subscription you’re updating.

required
pattern: ^\d+$
quantity
integer

The new quantity to be applied to a quantity enabled subscription.

pattern: ^\d+$
recurring_price
number

The new recurring price per unit to apply to a quantity enabled subscription. Please note this is a singular price, i.e 11.00.

currency
string

Optional, but required if setting recurring_price. The currency that the recurring price should be charged in. E.g. USD, GBP, EUR, etc.

bill_immediately
boolean

If the subscription should bill for the next interval at the revised figures immediately.

default: false
plan_id
integer

The new plan ID to move the subscription to.

pattern: ^\d+$
prorate
boolean

Whether the change in subscription should be prorated.

default: true
keep_modifiers
boolean

Retain the existing modifiers on the user subscription.

default: true
passthrough
string

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.

Responses

1 Example
Schema
object
or
object

An unsuccessful call to the Dashboard API will return a 200 response containing a field success set to false and an error object.

Send a Test Request

Send requests directly from the browser (CORS must be enabled)
$$.env
No $$.env variables are being used in this request.