subscription
POST /v1/subscription/{handle}/upgrade
Upgrade subscription
Request
- Base URLhttps://customer-portal-api.frisbii.com
- URLhttps://customer-portal-api.frisbii.com/v1/subscription/{handle}/upgrade
- Authnone declared
Path parameters
handlestring required
Subscription handle
Request body
Example request
{
"add_ons": [
{
"handle": "sub002_addon001",
"quantity": 3,
"amount": 20000,
"name": "Extra storage with special price",
"description": "Special price given to vip customer",
"add_on": "addon_001",
"fixed_amount": true,
"cost_object": "KT-4711",
"pricing_strategy": "fixed",
"pricing": {
"pricing_model": "per_unit",
"unit_label": "seats",
"unit_handle": "seat",
"unit_label_plural": "seats",
"unit_ranges": [
{
"to": 100,
"price_per_unit": "10.0"
}
]
}
}
],
"metered_billing_products": [
{
"vat": 0.25,
"metered_billing_product_handle": "storage",
"cost_object": "KT-4711",
"unit_label": "API Calls",
"unit_handle": "gb",
"included_units": 10,
"minimum_fee": "100",
"pricing_model": "per_unit",
"amount_incl_vat": true,
"tax_policy": "tp_handle",
"unit_ranges": [
{
"to": 100,
"price_per_unit": "10.0"
}
]
}
],
"remove_metered_billing_products": [
{
"metered_billing_product_handle": "storage"
}
]
}Response
Successful operation
Example response
{
"subscription": {
"handle": "sub000219",
"plan": "plan0033",
"state": "active",
"created": "2015-02-04T12:40:56.656Z",
"plan_name": "Fitness",
"next_period_start": "2015-05-14T08:12:19.558Z"
},
"upgradeable_configuration": {
"handle": "config_001",
"name": "Default Upgrade Rules",
"description": "Standard upgrades available to most customers",
"state": "active",
"allowed_upgrades": [
{
"from_upgradeable": {
"type": "plan",
"upgradeable_handle": "plan_basic_monthly"
},
"to_upgradeable": {
"type": "plan",
"upgradeable_handle": "plan_basic_monthly"
},
"from_plan": {
"name": "Fitness",
"description": "Fitness 149/month subscription",
"vat": 0.25,
"amount": 25000,
"quantity": 3,
"prepaid": true,
"handle": "plan02",
"version": 1,
"state": "active",
"currency": "DKK",
"dunning_plan": "dunning_plan_02",
"tax_policy": "default_tax_policy_handle",
"renewal_reminder_email_days": 7,
"trial_reminder_email_days": 7,
"partial_period_handling": "bill_prorated",
"include_zero_amount": true,
"setup_fee": 10000,
"setup_fee_text": "Subscription setup fee",
"setup_fee_handling": "first",
"setup_fee_vat": 0.2,
"setup_fee_tax_policy": "setup_fee_tax_policy_handle",
"setup_fee_amount_incl_vat": true,
"partial_proration_days": true,
"fixed_trial_days": true,
"minimum_prorated_amount": 100,
"account_funding": true,
"cost_object": "KT-4711",
"amount_incl_vat": true,
"fixed_count": 12,
"fixed_life_time_unit": "months",
"fixed_life_time_length": 12,
"trial_interval_unit": "months",
"trial_interval_length": 1,
"interval_length": 12,
"schedule_type": "month_startdate",
"schedule_fixed_day": 12,
"base_month": 1,
"notice_periods": 1,
"fixation_periods": 3,
"fixation_period_unit_type": "month",
"notice_period_unit_type": "month",
"contract_period": 12,
"contract_period_unit_type": "month",
"contract_period_after_renewal_period": 6,
"contract_period_after_renewal_unit_type": "month",
"subscription_duration_type": "auto_renew",
"effective_setup_fee_vat": 0.25,
"effective_setup_fee_amount_incl_vat": true
},
"to_plan": {
"name": "Fitness",
"description": "Fitness 149/month subscription",
"vat": 0.25,
"amount": 25000,
"quantity": 3,
"prepaid": true,
"handle": "plan02",
"version": 1,
"state": "active",
"currency": "DKK",
"dunning_plan": "dunning_plan_02",
"tax_policy": "default_tax_policy_handle",
"renewal_reminder_email_days": 7,
"trial_reminder_email_days": 7,
"partial_period_handling": "bill_prorated",
"include_zero_amount": true,
"setup_fee": 10000,
"setup_fee_text": "Subscription setup fee",
"setup_fee_handling": "first",
"setup_fee_vat": 0.2,
"setup_fee_tax_policy": "setup_fee_tax_policy_handle",
"setup_fee_amount_incl_vat": true,
"partial_proration_days": true,
"fixed_trial_days": true,
"minimum_prorated_amount": 100,
"account_funding": true,
"cost_object": "KT-4711",
"amount_incl_vat": true,
"fixed_count": 12,
"fixed_life_time_unit": "months",
"fixed_life_time_length": 12,
"trial_interval_unit": "months",
"trial_interval_length": 1,
"interval_length": 12,
"schedule_type": "month_startdate",
"schedule_fixed_day": 12,
"base_month": 1,
"notice_periods": 1,
"fixation_periods": 3,
"fixation_period_unit_type": "month",
"notice_period_unit_type": "month",
"contract_period": 12,
"contract_period_unit_type": "month",
"contract_period_after_renewal_period": 6,
"contract_period_after_renewal_unit_type": "month",
"subscription_duration_type": "auto_renew",
"effective_setup_fee_vat": 0.25,
"effective_setup_fee_amount_incl_vat": true
},
"created_at": "2025-08-22T09:45:12Z",
"self_upgrade_allowed": true
}
],
"created_at": "2025-08-22T09:45:12Z",
"updated_at": "2025-08-22T10:15:30Z",
"deleted_at": "2025-08-22T10:05:03Z",
"is_transitive": true,
"max_downgrade_steps": 2,
"downgrade_cooldown_seconds": 3600
}
}Changes
No recorded changes to this operation across all 1 revision of this API.