Skip to content

Get available product changes


Target audience: Developers

Release version: 4.3.11

Get available product changes


This endpoint lets you check if a subscription can either be upgraded or downgraded to requested packages/campaigns. Read more on upgrading and downgrading a subscription here.


While fetching possible upgrades/downgrades from the available product changes endpoints, there are two possible behaviours.

Default behaviour

By default, upgrades and downgrades will be based upon the payment period prices. If the customer would land on a more expensive period, we'll see it as an upgrade. If the customer would land on a cheaper period, we'll see it as a downgrade.

Rank-based behaviour

Introduced in Payway 4.5.3, packages can now be ranked in PAP. This means that the ranking of packages will be used instead of the payment period prices to decide whether it is an upgrade or downgrade (granted a ranking exists on both the source and target package). More on how Ranks work in Payway can be read upon here.


Environment URI


Identity Scope
Yes /external/me/r


Field Required Type Description
id Required String The id of the user product to change from.
Size range: ..24
Allowed values: "/^[a-f\d]{24}$/i"
product_codes Required String The product codes of the packages/campaigns to check. Up to 5 product codes are allowed, and if more are given, the rest will be ignored.
Size range: 1..1024
has_custom_target_period Optional Boolean Set to true if you would like to include all products containing periods with a matching payment option.
Leave blank or set to false if you would only like to include products containing periods with a matching payment option and length.

Release version 4.4.9

Curl Example

curl --request GET \
  --header 'accept: application/json' \
  --header 'authorization: Bearer token' \    


Field Description
upgrades The product codes available for upgrade
downgrades The product codes available for downgrade
  "item": {
    "upgrades": [
    "downgrades": [


This API uses the common error conventions of the Payway API

See common error responses