Skip to main content
Modifies an existing subscription, allowing plan changes, addon updates, and more.

Mutation

mutation UpdateSubscription($input: UpdateSubscriptionInput!) {
  updateOneSubscription(input: $input) {
    subscriptionId
    status
    plan {
      refId
      displayName
    }
    addons {
      addon {
        refId
        displayName
      }
      quantity
    }
    prices {
      billingPeriod
      price {
        amount
        currency
      }
    }
  }
}

Parameters

input
UpdateSubscriptionInput
required
Input for updating a subscription

Return Type

Returns the updated CustomerSubscription object.

Examples

Upgrade Plan

{
  "input": {
    "subscriptionId": "sub-789",
    "planId": "plan-enterprise"
  }
}

Add Addon

{
  "input": {
    "subscriptionId": "sub-789",
    "addons": [
      { "addonId": "addon-seats", "quantity": 5 },
      { "addonId": "addon-storage", "quantity": 1 }
    ]
  }
}

Change Billing Period

{
  "input": {
    "subscriptionId": "sub-789",
    "billingPeriod": "ANNUAL"
  }
}

Common Use Cases

Move customer to a higher tier plan.
Move customer to a lower tier (effective at period end).
Increase addon quantity for seat-based subscriptions.
Change from monthly to annual billing.