---
title: "Update subscription"
method: PATCH
path: "/subscriptions/{id}"
tags: ["Subscriptions"]
---

# Update subscription

`PATCH /subscriptions/{id}`

Updates a subscriptions tiers, add-ons, or interval.

Important considerations:
* Updates cannot be made to canceled subscriptions
* Billing will be prorated for the remaining period
* Existing add-ons may need to be re-validated
* Some features may be disabled if not available in new tier or add-ons

## Path parameters

- `id` string, required

## Request body

- UpdateSubscriptionRequest
  - `tierId` string, uuid, nullable — Optional tier id to subscribe to. An error is thrown if the supplied or existing add-ons are not valid for the supplied tier id.
  - `addOnIds` string[], nullable — Optional add-on ids to subscribe to. An error is thrown if the supplied or existing add-ons are not valid for the existing or supplied tier id.
  - `interval` string, nullable — Optional billing interval/pricing option to use when setting subscription tier. If an interval is not supplied then the default interval option will be used. If an interval is supplied but a tier is not supplied, the existing tier is used and the interval is changed.
  - `reason` string, nullable — Optional reason for changing the subscription tier.

## Response `202`

When request is accepted. Returns a 'Link' object.

- Link
  - `id` string, nullable
  - `href` string, nullable
  - `relation` string, nullable
  - `method` string, nullable

## Other responses

- `400` — When an unsupported request is made.
- `404` — When subscription with specified id does not exist.
- `500` — When an error occurs while updating the subscription.

---

[API](https://skmtc.net/smokeball/apis/api.md) · [All operations](https://skmtc.net/smokeball/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smokeball/api/versions/197984da9b42/schema)
