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

> Se dispara cuando una suscripción termina, al final del período o de inmediato. Revoca el acceso acá.

## Ciclo de vida de la cancelación

Una cancelación regular se agenda para el final del período de cobro actual. Se disparan dos eventos en momentos distintos:

| Momento | Evento | status | Qué hacer |
| - | - | - | - |
| El cliente solicita la cancelación | `subscription.updated` | `active` | Muestra "termina el \{endDate}" en tu UI. NO revoques el acceso. |
| Termina el período de cobro | `subscription.canceled` | `canceled` | Revoca el acceso. |

```
POST /subscriptions/{id}/cancel
  └→ subscription.updated  (status: "active", canceledAt: set, endDate: set)
       ... pasa el tiempo hasta que termina el período de cobro ...
  └→ subscription.canceled (status: "canceled")
```

## Terminaciones inmediatas

Algunas terminaciones se saltan la agenda: `subscription.canceled` llega de inmediato, sin un `subscription.updated` previo, y `endDate` es el momento de la terminación — no un límite del período de cobro.

* `POST /subscriptions/{id}/cancel` con `immediate: true`. Las cancelaciones de planes gratuitos y de suscripciones en `pending_payment` o `past_due` también se resuelven de inmediato — cancelar dentro de la ventana de gracia de dunning anula la renovación impaga.
* Reintentos de dunning agotados: se dispara con `cancelReason: "dunning_exhausted"`, junto con `payment.retry_failed`.

Reembolsar un pago no cancela su suscripción. Si querés ambas cosas, pedí la [cancelación](/docs/es/manage-subscriptions) por separado. Los eventos históricos de cancelación por refund pueden tener `cancelReason: "refund"`.


## OpenAPI

````yaml /openapi/es/webhooks/2026-08-27.json webhook subscription.canceled
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: {}

````

## Related topics

- [subscription.updated](/docs/es/webhooks/subscription-updated.md)
- [subscription.cancellation_scheduled](/docs/es/webhooks/subscription-cancellation-scheduled.md)
- [subscription.cancellation_revoked](/docs/es/webhooks/subscription-cancellation-revoked.md)
- [Introducción](/docs/es/webhooks/introduction.md)
- [payment.retry_failed](/docs/es/webhooks/payment-retry-failed.md)


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