---
title: "Upgrade Reseller Subscription"
method: POST
path: "/v1/reseller/subscriptions/{id}/upgrade"
tags: ["Reseller"]
---

# Upgrade Reseller Subscription

`POST /v1/reseller/subscriptions/{id}/upgrade`

Upgrades an active subscription by creating a new subscription with a
higher minimum and/or price tier, replacing the existing one.

This is modeled as a sub-resource because the operation creates a new
subscription record rather than modifying the existing one in place.

## Path parameters

- `id` integer, required

## Request body

- SubscriptionUpgradeParameters — Upgrade Reseller Subscription
  - `minimum` integer, required — New minimum usage commitment (must be greater than zero)
  - `purchase_order` string — Purchase order number (defaults to existing subscription's PO)
  - `on_renewal` boolean — Schedule upgrade for next renewal instead of immediately

## Response `201`

Upgrade Reseller Subscription

- object
  - `subscription` Subscription — Subscription model
    - `id` integer — A unique identifier for the subscription.
    - `account` unknown
    - `product` 'edr' | 'ispm' | 'itdr' | 'sat' | 'siem' — The product type for this subscription.
    - `status` 'draft' | 'approved' | 'accepted' | 'active' | 'completed' — The subscription status.
    - `minimum_usage` integer — The current minimum usage commitment for this subscription.
    - `terminal_minimum_usage` integer — The minimum usage commitment for this subscription after all subscription schedules are completed. Usually, this will be the same as the current minimum, but it may be higher during an ongoing schedule.
    - `billing_interval` 'monthly' | 'annual' — The billing interval for this subscription.
    - `effective_date` string — ISO-8601 formatted date when this subscription becomes effective.
    - `renewal_date` string — ISO-8601 formatted date when this subscription renews.
    - `auto_renew` boolean — Whether this subscription will auto-renew.
    - `schedules` SubscriptionSchedule[] — The schedules associated with this subscription.
      - `id` integer — A unique identifier for the subscription schedule.
      - `minimum` integer — The minimum usage commitment for this schedule period.
      - `maximum` integer — The maximum usage limit for this schedule period.
      - `status` 'active' | 'completed' | 'pending' — The schedule status.
      - `target_price` integer — The target price per unit for this schedule period.
      - `months` integer — The number of months this schedule period covers.
      - `promo_units` integer — The number of promotional units for this schedule period.
      - `starts_at` string — ISO-8601 formatted date when this schedule period starts.
      - `ends_at` string — ISO-8601 formatted date when this schedule period ends.

## Other responses

- `400` — Something about the request is malformed.
- `404` — Record not found.
- `422` — Could not upgrade subscription.

---

[API](https://skmtc.net/huntress/apis/huntress-api-reference.md) · [All operations](https://skmtc.net/huntress/apis/huntress-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/huntress/huntress-api-reference/revisions/94acb422c07d/schema)
