---
title: "Switch product tier"
method: PATCH
path: "/subscriptions/{subscriptionId}/tiers/{id}"
tags: ["Subscriptions"]
---

# Switch product tier

`PATCH /subscriptions/{subscriptionId}/tiers/{id}`

## Request

- Base URL: `https://api.smokeball.com`
- URL: `https://api.smokeball.com/subscriptions/{subscriptionId}/tiers/{id}`
- Auth: API key in header `x-api-key` and API key in header `Authorization`

Changes a subscription's product tier to the specified tier.

Important considerations:
* Tier changes take effect immediately
* 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

## Path parameters

- `subscriptionId` string, required
- `id` string, uuid, required

## Request body

- SetSubscriptionTierRequest
  - `promotionId` string, nullable: Optional Promotion ID. If the provided promotion id does not exist, the request will fail.
  - `interval` string, nullable: Optional billing interval/pricing option. If no interval is provided then the default pricing option will be used. If the interval is provided but does not exist, the request will fail.
  - `reason` string, nullable: Optional reason for changing the subscription tier.

## Response `202`

When request is accepted. Returns a 'Link' object to the subscription.

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

## Other responses

- `400`: When the requested tier change fails validation.
- `404`: Subscription or tier not found
- `500`: Internal server error occurred while switching tiers

---

[API](https://skmtc.dev/smokeball/apis/smokeball-api.md) - [All operations](https://skmtc.dev/smokeball/apis/smokeball-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smokeball/apis/smokeball-api/revisions/6e350cf667d4?raw)
