> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Pause a subscription

Pause subscriptions when customers want to take a break and come back later. Offering the option to pause a subscription can lower voluntary churn and increase customer LTV.

---

Pause subscriptions to stop billing for them temporarily. Paddle doesn't bill for paused subscriptions until they're resumed.

You may wish to give customers some level of access to your software while paused to maintain a relationship and encourage them to return. For example, you might let customers download reports or access existing data, but restrict their access to create records.

{% callout type="note" %}
If a customer doesn't want to use your software at all, [cancel instead](https://developer.paddle.com/build/subscriptions/cancel-subscriptions.md). You can't reinstate a canceled subscription.
{% /callout %}

{% callout type="info" %}
Unlike [cancel](https://developer.paddle.com/build/subscriptions/cancel-subscriptions.md) and [update payment details](https://developer.paddle.com/build/subscriptions/update-payment-details.md), pause isn't supported by [the customer portal](https://developer.paddle.com/concepts/customer-portal.md). Customers can't self-serve a pause — you'll need to build a workflow in your app using the API or pause from the Paddle dashboard.
{% /callout %}

## How it works

### Pause

When you pause a [subscription](https://developer.paddle.com/api-reference/subscriptions/overview.md), its `status` is set to `paused` and Paddle doesn't create any [transactions](https://developer.paddle.com/api-reference/transactions/overview.md) or collect payment for it. You should [provision your app](https://developer.paddle.com/build/subscriptions/provision-access-webhooks.md) so customers don't have access, or have limited access, while paused.

When sending a request to pause, you can tell Paddle to:

- **Pause at the end of the billing period**  
  Paddle creates a scheduled change to say the subscription should be paused on the next billing date. The subscription remains `active` until the next billing date, when the subscription status changes to `paused`.
- **Pause immediately**  
  Paddle pauses the subscription right away. Its status changes to `paused`.

To avoid charging for overlapping billing periods, any past due transactions for subscription renewals, where the transaction `origin` is `subscription_recurring`, are automatically canceled.

If you've [made changes to a subscription](https://developer.paddle.com/build/subscriptions/replace-products-prices-upgrade-downgrade.md) or [billed for one-time charges](https://developer.paddle.com/build/subscriptions/bill-add-one-time-charge.md) and set them to be charged [on the next billing period](https://developer.paddle.com/concepts/subscriptions/proration.md):

- When changes result in a credit, these are automatically forgiven.
- When changes result in a charge, these are applied to the transaction created on resume.

### Resume

Subscriptions remain paused until they're resumed. Pauses can be open-ended, or you can set a resume date. We recommend giving customers a set of pause duration options in your frontend — for example, 30 days, 60 days, or 90 days.

You can resume a paused subscription at any time, even if there's a resume date already set, by sending a request to resume. It's good practice to make it as easy as possible for customers to resume their subscription, so we recommend building a way for self-serve customers to reactivate their account.

When sending a request to resume, you can tell Paddle to:

- **Start a new billing period**  
  Paddle starts a new billing period for the subscription. The `current_billing_period.starts_at` is set to the date and time that the subscription is resumed, and Paddle creates a transaction to collect for the new billing period immediately.
- **Continue the existing billing period**  
  Paddle checks the end date of the existing billing period. If the resume date is within the existing billing period, Paddle continues the existing billing period. The `current_billing_period` dates aren't changed, and there's no immediate charge.

## Before you begin

{% callout type="info" %}
You can't make changes to a subscription if the next billing period is within 30 minutes, or the subscription status is `past_due`.
{% /callout %}

To pause a subscription, you'll need to [get the subscription ID](https://developer.paddle.com/api-reference/subscriptions/list-subscriptions.md) for the subscription you want to change.

You can use the `status` query parameter when listing with the value `active` to get a list of active subscriptions.

## Pause a subscription

{% tabs sync="interaction-preference" %}
{% tab-item title="Dashboard" %}

{% instruction-steps %}

1. Go to **Paddle > Customers**, and find the customer whose subscription you want to pause.
2. Find the subscription under the **Subscriptions** heading and click it.
3. From the subscription overview page, click {% mock-button %}Pause subscription
4. Use the **When do you want to pause the subscription?** to choose whether to pause now or at the end of the billing period.
5. To resume a subscription on a particular date, toggle **Automatically resume** on, then set a date and time. Toggle off to pause indefinitely.
6. Click Pause subscription to confirm.
7. If you chose to pause now, click Pause subscription again on the confirmation box.

{% /instruction-steps %}

{% /dashboard-instructions %}

{% /tab-item %}
{% tab-item title="API" %}

Send a `POST` request to the `/subscriptions/{subscription_id}/pause` endpoint to pause a subscription.

In your request, include `effective_from` to tell Paddle when to pause (`next_billing_period` or `immediately`). Include `resume_at` (RFC 3339 timestamp) to set a scheduled resume date — omit for an indefinite pause. Include `on_resume` to control charging on resume — defaults to `start_new_billing_period` (customer is charged immediately for the new billing period).

{% accordion %}
{% accordion-item title="Pause a subscription on the next billing period" %}

Paddle creates a scheduled change with an `effective_at` date matching the subscription's `next_billed_at` date.

{% api-example method="POST" path="/subscriptions/{subscription_id}/pause" href="/api-reference/subscriptions/pause-subscription" %}

```json
{
  "effective_from": "next_billing_period"
}
```

```json
{
  "data": {
    "id": "sub_01h8bxswamxysj44zt5n48njwh",
    "status": "active",
    "customer_id": "ctm_01h8441jn5pcwrfhwh78jqt8hk",
    "address_id": "add_01h848pep46enq8y372x7maj0p",
    "business_id": "biz_01h84a7hr4pzhsajkm8tev89ev",
    "currency_code": "USD",
    "created_at": "2023-08-21T11:31:10.292Z",
    "updated_at": "2023-09-27T10:54:24.066Z",
    "started_at": "2023-08-21T11:31:08.689295Z",
    "first_billed_at": "2023-08-21T11:31:08.689295Z",
    "next_billed_at": null,
    "paused_at": null,
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": {
      "starts_at": "2023-09-21T11:31:08.689295Z",
      "ends_at": "2023-10-21T11:31:08.689295Z"
    },
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "scheduled_change": {
      "action": "pause",
      "effective_at": "2023-10-21T11:31:08.689295Z",
      "resume_at": null
    },
    "items": [
      {
        "status": "active",
        "quantity": 30,
        "recurring": true,
        "created_at": "2023-08-21T11:31:10.292Z",
        "updated_at": "2023-09-21T11:32:06.153Z",
        "previously_billed_at": "2023-09-21T11:31:08.689295Z",
        "next_billed_at": null,
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "description": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3266",
            "currency_code": "USD"
          }
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01h8bxswamxysj44zt5n48njwh/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01h8bxswamxysj44zt5n48njwh/cancel"
    },
    "discount": null
  },
  "meta": {
    "request_id": "3c69e2df-9f2f-4fb3-afa8-474fd768836b"
  }
}
```

{% /api-example %}

{% /accordion-item %}
{% accordion-item title="Pause a subscription immediately" %}

The subscription `status` changes to `paused` right away.

{% api-example method="POST" path="/subscriptions/{subscription_id}/pause" href="/api-reference/subscriptions/pause-subscription" %}

```json
{
  "effective_from": "immediately"
}
```

```json
{
  "data": {
    "id": "sub_01hbxebsqc7qg1fbqg5eqz1v82",
    "status": "paused",
    "customer_id": "ctm_01hbxeaqa73chfk9ants8gtrjf",
    "address_id": "add_01hbxeaqb46zke464dwjjh7zab",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2023-10-04T13:34:45.484Z",
    "updated_at": "2023-10-05T10:03:01.546Z",
    "started_at": "2023-10-04T13:34:44.39169Z",
    "first_billed_at": "2023-10-04T13:34:44.39169Z",
    "next_billed_at": null,
    "paused_at": "2023-10-05T10:03:01.544Z",
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": null,
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "scheduled_change": null,
    "items": [
      {
        "status": "active",
        "quantity": 10,
        "recurring": true,
        "created_at": "2023-10-04T13:34:45.484Z",
        "updated_at": "2023-10-04T13:34:45.484Z",
        "previously_billed_at": "2023-10-04T13:34:44.39169Z",
        "next_billed_at": null,
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "description": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3266",
            "currency_code": "USD"
          }
        }
      },
      {
        "status": "active",
        "quantity": 1,
        "recurring": true,
        "created_at": "2023-10-04T13:34:45.484Z",
        "updated_at": "2023-10-04T13:34:45.484Z",
        "previously_billed_at": "2023-10-04T13:34:44.39169Z",
        "next_billed_at": null,
        "trial_dates": null,
        "price": {
          "id": "pri_01h1vjfevh5etwq3rb416a23h2",
          "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65",
          "description": "Monthly (recurring addon)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "10887",
            "currency_code": "USD"
          }
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hbxebsqc7qg1fbqg5eqz1v82/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hbxebsqc7qg1fbqg5eqz1v82/cancel"
    },
    "discount": null
  },
  "meta": {
    "request_id": "af4b4f10-e051-4f6d-9b27-0af0573b16da"
  }
}
```

{% /api-example %}

{% /accordion-item %}
{% accordion-item title="Pause a subscription with a resume date" %}

Paddle creates a `scheduled_change` to resume with an `effective_at` matching the `resume_at` date you sent.

{% api-example method="POST" path="/subscriptions/{subscription_id}/pause" href="/api-reference/subscriptions/pause-subscription" %}

```json
{
  "effective_from": "immediately",
  "resume_at": "2023-11-01T00:00:00.000Z"
}
```

```json
{
  "data": {
    "id": "sub_01hbzxvbv3swwa9e3k17q9jhsg",
    "status": "paused",
    "customer_id": "ctm_01hbzfn01epffnm8azqj8va535",
    "address_id": "add_01hbzxtk9rmhjqsfgqcrfpe3y3",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2023-10-05T12:43:53.059Z",
    "updated_at": "2023-10-05T12:50:54.857Z",
    "started_at": "2023-10-05T12:43:51.363035Z",
    "first_billed_at": "2023-10-05T12:43:51.363035Z",
    "next_billed_at": "2023-11-01T00:00:00Z",
    "paused_at": "2023-10-05T12:50:16.963Z",
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": null,
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "scheduled_change": {
      "action": "resume",
      "effective_at": "2023-11-01T00:00:00Z",
      "resume_at": null
    },
    "items": [
      {
        "status": "active",
        "quantity": 10,
        "recurring": true,
        "created_at": "2023-10-05T12:43:53.059Z",
        "updated_at": "2023-10-05T12:43:53.059Z",
        "previously_billed_at": "2023-10-05T12:43:51.363035Z",
        "next_billed_at": "2023-11-01T00:00:00Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "description": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3266",
            "currency_code": "USD"
          }
        }
      },
      {
        "status": "active",
        "quantity": 1,
        "recurring": true,
        "created_at": "2023-10-05T12:43:53.059Z",
        "updated_at": "2023-10-05T12:43:53.059Z",
        "previously_billed_at": "2023-10-05T12:43:51.363035Z",
        "next_billed_at": "2023-11-01T00:00:00Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01h1vjfevh5etwq3rb416a23h2",
          "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65",
          "description": "Monthly (recurring addon)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "10887",
            "currency_code": "USD"
          }
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hbzxvbv3swwa9e3k17q9jhsg/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hbzxvbv3swwa9e3k17q9jhsg/cancel"
    },
    "discount": null
  },
  "meta": {
    "request_id": "823fab25-9a78-4f5b-b331-fcbc8534c23b"
  }
}
```

{% /api-example %}

{% /accordion-item %}
{% /accordion %}

{% /tab-item %}
{% /tabs %}

## Remove a scheduled change

You can stop a pause from going through at the end of the billing period by removing the scheduled change.

You might also do this to remove a scheduled resume from a paused subscription, so it's paused indefinitely until you resume.

{% tabs sync="interaction-preference" %}
{% tab-item title="Dashboard" %}

{% instruction-steps %}

1. Go to **Paddle > Customers**, and find the customer whose subscription you no longer want to pause.
2. Find the subscription under the **Subscriptions** heading and click it.
3. From the subscription overview page, click {% mock-button %}Don't pause
4. Click Don't pause on the confirmation box.

{% /instruction-steps %}

{% /dashboard-instructions %}

{% /tab-item %}
{% tab-item title="API" %}

Send a `PATCH` request to the `/subscriptions/{subscription_id}` endpoint to update the subscription.

In your request, set `scheduled_change` to `null` to remove the scheduled pause or resume.

{% api-example method="PATCH" path="/subscriptions/{subscription_id}" href="/api-reference/subscriptions/update-subscription" %}

```json
{
  "scheduled_change": null
}
```

```json
{
  "data": {
    "id": "sub_01htymmb3hj0q9fmckjbtrmd73",
    "status": "active",
    "customer_id": "ctm_01htymkpj07kjy7p5q1vzqpk70",
    "address_id": "add_01htymkpjq97zpchxzdyyas99v",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2024-04-08T10:38:58.673Z",
    "updated_at": "2024-04-08T10:44:18.005Z",
    "started_at": "2024-04-08T10:38:57.97967Z",
    "first_billed_at": "2024-04-08T10:38:57.97967Z",
    "next_billed_at": "2024-05-08T10:38:57.97967Z",
    "paused_at": null,
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": {
      "starts_at": "2024-04-08T10:38:57.97967Z",
      "ends_at": "2024-05-08T10:38:57.97967Z"
    },
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "scheduled_change": null,
    "items": [
      {
        "status": "active",
        "quantity": 10,
        "recurring": true,
        "created_at": "2024-04-08T10:38:58.673Z",
        "updated_at": "2024-04-08T10:38:58.673Z",
        "previously_billed_at": "2024-04-08T10:38:57.97967Z",
        "next_billed_at": "2024-05-08T10:38:57.97967Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "type": "standard",
          "description": "Monthly",
          "name": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": {
            "features": {
              "crm": true,
              "data_retention": false,
              "reports": true
            },
            "suggested_addons": [
              "pro_01h1vjes1y163xfj1rh1tkfb65",
              "pro_01gsz97mq9pa4fkyy0wqenepkz"
            ],
            "upgrade_description": "Move from Basic to Pro to take advantage of advanced reporting and a CRM that's right where you're chatting."
          },
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 999
          },
          "import_meta": null,
          "created_at": "2023-02-23T13:55:22.538367Z",
          "updated_at": "2024-04-05T14:30:28.146783Z"
        }
      },
      {
        "status": "active",
        "quantity": 1,
        "recurring": true,
        "created_at": "2024-04-08T10:38:58.673Z",
        "updated_at": "2024-04-08T10:38:58.673Z",
        "previously_billed_at": "2024-04-08T10:38:57.97967Z",
        "next_billed_at": "2024-05-08T10:38:57.97967Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01h1vjfevh5etwq3rb416a23h2",
          "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65",
          "type": "standard",
          "description": "Monthly",
          "name": "Monthly (recurring addon) ",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "10000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 100
          },
          "import_meta": null,
          "created_at": "2023-06-01T13:31:12.625056Z",
          "updated_at": "2024-04-05T14:33:48.860572Z"
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01htymmb3hj0q9fmckjbtrmd73/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01htymmb3hj0q9fmckjbtrmd73/cancel"
    },
    "discount": null,
    "import_meta": null
  },
  "meta": {
    "request_id": "a37dc0cb-0337-45cb-8f2c-8bd31db37553"
  }
}
```

{% /api-example %}

{% /tab-item %}
{% /tabs %}

## Set or change a resume date

You can change when a subscription is set to resume, or set a resume date where a subscription is paused indefinitely.

{% callout type="info" %}
To change the future resume date for an active subscription that's scheduled to pause, [remove the scheduled change](#remove-scheduled-change) then [send a request to pause with a resume date](#pause-subscription).
{% /callout %}

{% tabs sync="interaction-preference" %}
{% tab-item title="Dashboard" %}

{% instruction-steps %}

1. Go to **Paddle > Customers**, and find the customer whose paused subscription you want to set or change the resume date for.
2. Find the subscription under the **Subscriptions** heading and click it.
3. From the subscription overview page, click {% mock-button %}Set resume date or Edit resume date
4. Choose a new date and time under the **Automatically resume** toggle. Toggle off to pause indefinitely.
5. Click Save to confirm.

{% /instruction-steps %}

{% /dashboard-instructions %}

{% /tab-item %}
{% tab-item title="API" %}

Send a `POST` request to the `/subscriptions/{subscription_id}/resume` endpoint to set or change the resume date for a paused subscription.

In your request, include `effective_from` with either an RFC 3339 timestamp (to resume on a specific date) or `next_billing_period`. Include `on_resume` to control charging on resume — defaults to `start_new_billing_period` (customer is charged immediately for the new billing period).

{% api-example method="POST" path="/subscriptions/{subscription_id}/resume" href="/api-reference/subscriptions/resume-subscription" %}

```json
{
  "effective_from": "2023-11-01T00:00:00.000Z"
}
```

```json
{
  "data": {
    "id": "sub_01h8bxswamxysj44zt5n48njwh",
    "status": "paused",
    "customer_id": "ctm_01h8441jn5pcwrfhwh78jqt8hk",
    "address_id": "add_01h848pep46enq8y372x7maj0p",
    "business_id": "biz_01h84a7hr4pzhsajkm8tev89ev",
    "currency_code": "USD",
    "created_at": "2023-08-21T11:31:10.292Z",
    "updated_at": "2023-10-21T11:32:49.597295Z",
    "started_at": "2023-08-21T11:31:08.689295Z",
    "first_billed_at": "2023-08-21T11:31:08.689295Z",
    "next_billed_at": "2023-11-01T00:00:00Z",
    "paused_at": "2023-10-21T11:32:03.228295Z",
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": null,
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "scheduled_change": {
      "action": "resume",
      "effective_at": "2023-11-01T00:00:00Z",
      "resume_at": null
    },
    "items": [
      {
        "status": "inactive",
        "quantity": 30,
        "recurring": true,
        "created_at": "2023-08-21T11:31:10.292Z",
        "updated_at": "2023-10-21T11:32:03.234295Z",
        "previously_billed_at": "2023-09-21T11:31:08.689295Z",
        "next_billed_at": "2023-11-01T00:00:00Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "description": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3266",
            "currency_code": "USD"
          }
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01h8bxswamxysj44zt5n48njwh/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01h8bxswamxysj44zt5n48njwh/cancel"
    },
    "discount": null
  },
  "meta": {
    "request_id": "fb4c8524-1337-4446-b6cc-a022cede97fa"
  }
}
```

{% /api-example %}

{% /tab-item %}

{% /tabs %}

## Resume a paused subscription

Resume a subscription to start billing for it again. You should grant the customer access to your app once resumed.

When resumed, Paddle bills for the subscription immediately. The subscription billing date is recalculated based on the resume date.

{% callout type="info" %}
To resume on a particular date, see [Set or change a resume date](#change-resume-date)
{% /callout %}

{% tabs sync="interaction-preference" %}
{% tab-item title="Dashboard" %}

{% instruction-steps %}

1. Go to **Paddle > Customers**, and find the customer whose subscription you want to pause.
2. Find the subscription under the **Subscriptions** heading and click it.
3. From the subscription overview page, click {% mock-button %}Resume subscription
4. Click Resume subscription on the confirmation box.

{% /instruction-steps %}

{% /dashboard-instructions %}

{% /tab-item %}
{% tab-item title="API" %}

Resume a paused subscription using the API in two steps:

1. **Preview charging** {% badge label="Optional" variant="outline" /%}  
   Preview what the customer will be charged when the subscription resumes.
2. **Resume subscription**  
   Send a request to resume the subscription.

### Preview charging {% step=true badge="Optional" %}

Send a `GET` request to the `/subscriptions/{subscription_id}` endpoint with `include=recurring_transaction_details` to get a preview of what the customer will be charged on resume.

{% api-example method="GET" path="/subscriptions/{subscription_id}?include=recurring_transaction_details" href="/api-reference/subscriptions/get-subscription" %}

```json
{
  "data": {
    "id": "sub_01hbb6jctayag2q3ptdftmt89n",
    "status": "paused",
    "customer_id": "ctm_01h8441jn5pcwrfhwh78jqt8hk",
    "address_id": "add_01hbb6hmaggbtq4df34cy39e4b",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2023-09-27T11:32:13.258Z",
    "updated_at": "2023-10-27T11:32:34.158969Z",
    "started_at": "2023-09-27T11:32:12.028969Z",
    "first_billed_at": "2023-09-27T11:32:12.028969Z",
    "next_billed_at": null,
    "paused_at": "2023-10-27T11:32:34.146969Z",
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": null,
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "recurring_transaction_details": {
      "tax_rates_used": [
        {
          "tax_rate": "0.08875",
          "totals": {
            "subtotal": "40000",
            "discount": "0",
            "tax": "3549",
            "total": "43549"
          }
        }
      ],
      "totals": {
        "subtotal": "40000",
        "tax": "3549",
        "discount": "0",
        "total": "43549",
        "fee": null,
        "credit": "0",
        "balance": "43549",
        "grand_total": "43549",
        "earnings": null,
        "currency_code": "USD",
        "exchange_rate": "1"
      },
      "line_items": [
        {
          "price_id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "quantity": 10,
          "totals": {
            "subtotal": "30000",
            "tax": "2662",
            "discount": "0",
            "total": "32662"
          },
          "product": {
            "id": "pro_01gsz4t5hdjse780zja8vvr7jg",
            "name": "ChatApp Pro",
            "description": "Everything in basic, plus access to a suite of powerful tools and features designed to take your team's productivity to the next level.",
            "tax_category": "standard",
            "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/2nmP8MQSret0aWeDemRw_icon1.png",
            "status": "active"
          },
          "tax_rate": "0.08875",
          "unit_totals": {
            "subtotal": "3000",
            "discount": "0",
            "tax": "266",
            "total": "3266"
          },
          "proration": {
            "rate": "1",
            "billing_period": {
              "starts_at": "2023-09-27T11:32:12.028969Z",
              "ends_at": "2023-10-27T11:32:12.028969Z"
            }
          }
        },
        {
          "price_id": "pri_01h1vjfevh5etwq3rb416a23h2",
          "quantity": 1,
          "totals": {
            "subtotal": "10000",
            "tax": "887",
            "discount": "0",
            "total": "10887"
          },
          "product": {
            "id": "pro_01h1vjes1y163xfj1rh1tkfb65",
            "name": "Voice rooms addon",
            "description": "Create voice rooms in your chats to work in real time alongside your colleagues. Includes unlimited voice rooms and recording backup for compliance.",
            "tax_category": "standard",
            "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/GcZzBjXRfiraensppgtQ_icon2.png",
            "status": "active"
          },
          "tax_rate": "0.08875",
          "unit_totals": {
            "subtotal": "10000",
            "discount": "0",
            "tax": "887",
            "total": "10887"
          },
          "proration": {
            "rate": "1",
            "billing_period": {
              "starts_at": "2023-09-27T11:32:12.028969Z",
              "ends_at": "2023-10-27T11:32:12.028969Z"
            }
          }
        }
      ]
    },
    "scheduled_change": null,
    "items": [
      {
        "status": "inactive",
        "quantity": 10,
        "recurring": true,
        "created_at": "2023-09-27T11:32:13.258Z",
        "updated_at": "2023-10-27T11:32:34.159969Z",
        "previously_billed_at": "2023-09-27T11:32:12.028969Z",
        "next_billed_at": null,
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "description": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3266",
            "currency_code": "USD"
          }
        }
      },
      {
        "status": "inactive",
        "quantity": 1,
        "recurring": true,
        "created_at": "2023-09-27T11:32:13.258Z",
        "updated_at": "2023-10-27T11:32:34.160969Z",
        "previously_billed_at": "2023-09-27T11:32:12.028969Z",
        "next_billed_at": null,
        "trial_dates": null,
        "price": {
          "id": "pri_01h1vjfevh5etwq3rb416a23h2",
          "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65",
          "description": "Monthly (recurring addon)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "10887",
            "currency_code": "USD"
          }
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hbb6jctayag2q3ptdftmt89n/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hbb6jctayag2q3ptdftmt89n/cancel"
    },
    "discount": null
  },
  "meta": {
    "request_id": "3e7bfaba-420d-4c3c-bb59-e3046ef54058"
  }
}
```

{% /api-example %}

### Resume subscription {% step=true %}

Send a `POST` request to the `/subscriptions/{subscription_id}/resume` endpoint with an empty request body to resume the subscription right away.

Paddle creates a transaction for the new billing period. If automatically collected, Paddle attempts to collect immediately. If collection fails, the subscription becomes `past_due`.

{% api-example method="POST" path="/subscriptions/{subscription_id}/resume" href="/api-reference/subscriptions/resume-subscription" %}

```json
{
  "data": {
    "id": "sub_01hv959anj4zrw503h2acawb3p",
    "status": "active",
    "customer_id": "ctm_01hv8wt8nffez4p2t6typn4a5j",
    "address_id": "add_01hv958rbhm5n0r6h3tmna4gtv",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2024-04-12T12:42:27.89Z",
    "updated_at": "2024-04-12T12:44:51.309Z",
    "started_at": "2024-04-12T12:42:27.185672Z",
    "first_billed_at": "2024-04-12T12:42:27.185672Z",
    "next_billed_at": "2024-05-12T12:44:51.27Z",
    "paused_at": null,
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": {
      "starts_at": "2024-04-12T12:44:51.27Z",
      "ends_at": "2024-05-12T12:44:51.27Z"
    },
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "scheduled_change": null,
    "items": [
      {
        "status": "active",
        "quantity": 10,
        "recurring": true,
        "created_at": "2024-04-12T12:42:27.89Z",
        "updated_at": "2024-04-12T12:44:51.311Z",
        "previously_billed_at": "2024-04-12T12:44:51.27Z",
        "next_billed_at": "2024-05-12T12:44:51.27Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "type": "standard",
          "description": "Monthly",
          "name": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 999
          },
          "import_meta": null,
          "created_at": "2023-02-23T13:55:22.538367Z",
          "updated_at": "2024-04-11T13:54:52.254748Z"
        },
        "product": {
          "id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "name": "AeroEdit Pro",
          "type": "standard",
          "tax_category": "standard",
          "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.",
          "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png",
          "custom_data": {
            "features": {
              "aircraft_performance": true,
              "compliance_monitoring": true,
              "flight_log_management": true,
              "payment_by_invoice": false,
              "route_planning": true,
              "sso": false
            },
            "suggested_addons": [
              "pro_01h1vjes1y163xfj1rh1tkfb65",
              "pro_01gsz97mq9pa4fkyy0wqenepkz"
            ],
            "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring."
          },
          "status": "active",
          "import_meta": null,
          "created_at": "2023-02-23T12:43:46.605Z",
          "updated_at": "2024-04-05T15:53:44.687Z"
        }
      },
      {
        "status": "active",
        "quantity": 1,
        "recurring": true,
        "created_at": "2024-04-12T12:42:27.89Z",
        "updated_at": "2024-04-12T12:44:51.312Z",
        "previously_billed_at": "2024-04-12T12:44:51.27Z",
        "next_billed_at": "2024-05-12T12:44:51.27Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01h1vjfevh5etwq3rb416a23h2",
          "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65",
          "type": "standard",
          "description": "Monthly",
          "name": "Monthly (recurring addon)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "10000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 100
          },
          "import_meta": null,
          "created_at": "2023-06-01T13:31:12.625056Z",
          "updated_at": "2024-04-12T10:42:45.476453Z"
        },
        "product": {
          "id": "pro_01h1vjes1y163xfj1rh1tkfb65",
          "name": "Analytics addon",
          "type": "standard",
          "tax_category": "standard",
          "description": "Unlock advanced insights into your flight data with enhanced analytics and reporting features. Includes customizable reporting templates and trend analysis across flights.",
          "image_url": "https://paddle.s3.amazonaws.com/user/165798/97dRpA6SXzcE6ekK9CAr_analytics.png",
          "custom_data": null,
          "status": "active",
          "import_meta": null,
          "created_at": "2023-06-01T13:30:50.302Z",
          "updated_at": "2024-04-05T15:47:17.163Z"
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hv959anj4zrw503h2acawb3p/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hv959anj4zrw503h2acawb3p/cancel"
    },
    "discount": null,
    "import_meta": null
  },
  "meta": {
    "request_id": "7c010829-486c-4fb6-ac5d-44fbea7723d0"
  }
}
```

{% /api-example %}

### Update payment method {% badge="Optional" %}

When resumed, Paddle creates a transaction to collect for the new billing period. If automatically collected, Paddle automatically attempts to collect using a payment method on file immediately on resume. This may have expired or no longer be valid, especially when resuming after a long period of time.

If collection fails, the subscription and related transaction become `past_due` and [events for subscription past due occur](https://developer.paddle.com/build/lifecycle/subscription-renewal-dunning.md). As collection is attempted immediately, if a subscription becomes past due then we recommend [presenting a way for customers to update their payment method](https://developer.paddle.com/build/subscriptions/update-payment-details.md) as part of your resume workflow.

{% /tab-item %}
{% /tabs %}

## Events

For a full list of events that occur when a subscription is paused or resumed, see [Subscription pause or resume](https://developer.paddle.com/build/lifecycle/subscription-pause-resume.md)