Skip to main content
Make sure to read the Webhooks Overview for important information about signature verification.

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 fires whenever an order reaches its end date, including orders that are immediately replaced by a closed renewal — service may continue uninterrupted.
  • 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:

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 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 payload, containing the reason, the inactive_at timestamp, the full subscription, and the subscription’s final order.