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

# subscription.past_due

> Fired when a recurring payment fails and the subscription enters a grace window while Commet retries the charge.

## When this fires

A recurring charge failed on a subscription that has been paid before. Commet sets the status to `past_due` and enters dunning.

`past_due` is a permissive grace window — features, usage, and seats keep working. Only purchases and plan changes are blocked. Usage accrues as debt during this window.

Commet retries the charge on day 1, day 3, day 5, and day 7 after the failure (4 retries). If a retry succeeds the subscription returns to `active`. If all 4 retries fail the subscription is canceled.

`payment.failed` fires alongside this event with the charge failure details (`failureCode`, `failureMessage`). Use `subscription.past_due` to drive your access state and `payment.failed` to drive recovery messaging.

First-checkout card declines do NOT trigger this event — a subscription that was never paid moves back to `pending_payment` instead.


## OpenAPI

````yaml /openapi/en/webhooks/2026-08-27.json webhook subscription.past_due
openapi: 3.1.0
info:
  title: Commet Webhooks
  version: '2026-08-27'
  description: >-
    Outbound webhook events emitted by the Commet API. Each event is delivered
    as a signed POST to your configured endpoints.
servers: []
security: []
paths: {}

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.