> ## 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.plan_change_scheduled

> Fired when a downgrade or interval change is scheduled for the end of the billing period.

## Scheduled plan change lifecycle

Interval direction takes precedence: a shorter interval is scheduled for the end of the paid period and a longer interval changes immediately. When the interval is unchanged, Plan Groups use `sortOrder`: lower-ordered plans are scheduled and higher-ordered plans change immediately. Paid-to-free changes are always scheduled.

| Moment | Event | What to do |
| - | - | - |
| Downgrade requested | `subscription.plan_change_scheduled` | Show "changing to \{scheduledPlan.name} on \{effectiveAt}". Keep current plan access. |
| A different change replaces it | `subscription.plan_change_revoked` + `subscription.plan_change_scheduled` | Update the notice to the new target plan. |
| Billing period ends | `subscription.plan_changed` | Apply the new plan's entitlements. |

Immediate upgrades skip this event entirely — they fire `subscription.plan_changed` right away.


## OpenAPI

````yaml /openapi/en/webhooks/2026-08-27.json webhook subscription.plan_change_scheduled
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.