> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firmhouse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reactivate a subscription

> Restart a cancelled or stopped subscription from the Firmhouse Portal, Customer Portal v2, or GraphQL API.

Reactivation returns a cancelled or stopped subscription to the **Activated** status. You can reactivate a subscription for a customer in the Firmhouse Portal, let the customer reactivate it in Customer Portal v2, or build the action into an integration with the GraphQL API.

## Before reactivating

Review the subscription's active products and upcoming shipment dates before restarting it. Reactivation clears the cancellation date and resumes billing and order creation using the selected or recalculated next billing date.

The earliest available next billing date depends on the subscription:

* Plan-based subscriptions can restart today (except Shopify subscriptions).
* Order-based and Shopify subscriptions can restart tomorrow at the earliest.
* Subscriptions with a flexible billing cycle or one shipment frequency for all products require a next billing date.

## Reactivate from the Firmhouse Portal

1. Open the customer and select the cancelled or stopped subscription.
2. Open the subscription status menu in the top-right corner.
3. Select **Reactivate**.
4. Review the subscription and, when shown, choose the next billing date.
5. Confirm the reactivation.

If the **Reactivate** action is not shown, make sure the subscription is cancelled or stopped and that your user has permission to reactivate subscriptions.

## Let customers reactivate in Customer Portal v2

Enable **Customer Portal Subscription Reactivation** from **New Features** to let customers restart a cancelled subscription themselves.

The default Customer Portal v2 dashboard template already contains the reactivation component. Projects with a customized dashboard template must add the [`subscription_reactivation_banner` Liquid tag](/customer-portal-v2/components/dashboard-template#reactivate-cancelled-subscriptions).

Customers see the next billing date before confirming. When the subscription uses a flexible billing cycle or one shipment frequency for all products, they can choose a valid date.

## Reactivate with the GraphQL API

Use the `reactivateSubscription` mutation with a write API access token. Pass the subscription ID and, optionally, a next billing date.

```graphql theme={null}
mutation ReactivateSubscription($id: ID!, $nextBillingDate: ISO8601Date) {
  reactivateSubscription(input: { id: $id, nextBillingDate: $nextBillingDate }) {
    subscription {
      id
      status
      nextBillingDate
    }
    errors {
      attribute
      message
    }
  }
}
```

Example variables:

```json theme={null}
{
  "id": "123456",
  "nextBillingDate": "2026-08-01"
}
```

When `nextBillingDate` is omitted, Firmhouse keeps the existing date if it is still valid or recalculates it to the next valid date. A successful mutation returns the activated subscription and an empty `errors` array. For validation failures, `subscription` is `null` and `errors` explains what needs to be corrected.

## Related articles

* [Cancel a customer subscription](/manage/subscriptions/cancelling-a-subscription)
* [Pause and resume subscriptions](/manage/subscriptions/pausing-and-resuming-subscriptions)
* [Generate API access tokens](/configure/integrations/api-access-tokens)
* [`reactivateSubscription` API reference](https://developer.firmhouse.com/graphql-api/api-reference/mutations/reactivate-subscription)
