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

# subscription.inactive

<Tip>
  Make sure to read the [Webhooks Overview](/api-reference/webhooks/overview) for important
  information about signature verification.
</Tip>

## Purpose

The `subscription.inactive` webhook is triggered at the moment a **Subscription** stops being active — the point at which you can stop providing service to the customer.

This differs from the order-scoped lifecycle webhooks:

* [`order.end`](/api-reference/webhooks/order/end) fires whenever an order reaches its end date, including orders that are immediately replaced by a closed renewal — service may continue uninterrupted.
* [`order.terminated`](/api-reference/webhooks/order/terminated) fires when a termination is *recorded*, which can be well before it takes effect — service continues until the termination date.

`subscription.inactive` fires only when service entitlement actually ends. The payload includes a `reason` field:

| Reason           | Fires when                                                                                                                                                                                                                                      |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `END_NO_RENEWAL` | The subscription's final order reached its end date with no closed renewal, upgrade, or recast taking over. Fires at the end of the last covered day, in the order's timezone.                                                                  |
| `TERMINATED`     | The termination's effective date arrived. The termination date is the first day *without* service, so the event fires at the start of that day — and a termination recorded with an effective date of today (or earlier) fires **immediately**. |

## Timing and delivery

* **No backfill** — only subscriptions that go inactive *after* you enable the webhook will fire. Enabling it will not send events for subscriptions that lapsed in the past.
* **Exactly one event per transition** — if a subscription is revived after the event fired (a late renewal is closed, or a terminated order is reinstated) and later goes inactive again, a new event fires for the new inactive date. Use [`order.complete`](/api-reference/webhooks/order/complete) to observe the revival itself.
* **Automatic retries** — failed deliveries are retried hourly until they succeed.

## Payload format

Your configured endpoint will receive a [Subscription Inactive](/api-reference/webhooks/subscription/payload) payload, containing the `reason`, the `inactive_at` timestamp, the full subscription, and the subscription's final order.
