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

# Cancelar Assinatura

> Encerre definitivamente uma assinatura e suas cobranças futuras.

#### Escopo

```bash theme={null}
    write subscriptions
```

## O que faz

Cancela uma assinatura imediatamente, interrompendo todas as cobranças futuras e encerrando o acesso do cliente.

O cancelamento interrompe a cobrança recorrente imediatamente. Utilize esta ação quando o cliente solicitar o encerramento definitivo ou quando a assinatura não deve mais ser renovada.

## Casos de uso

* Atender solicitação do cliente para encerramento definitivo
* Cancelar assinaturas com pagamento inadimplente após tentativas de cobrança
* Encerrar assinaturas de clientes que migraram para outro plano ou produto
* Executar cancelamentos em massa via automação ou integração

## Parâmetro

`id` (path) — Identificador único da assinatura.

## Erros

| Status | Descrição                                       |
| ------ | ----------------------------------------------- |
| `400`  | Assinatura já cancelada.                        |
| `400`  | Estado atual não permite cancelamento imediato. |
| `404`  | Assinatura não encontrada.                      |

<Note>
  Assinaturas já canceladas não podem ser canceladas novamente.
</Note>


## OpenAPI

````yaml POST /public_api/subscriptions/{id}/cancel/
openapi: 3.0.3
info:
  title: Cakto API
  version: 1.0.0
  description: Documentação da API pública do Cakto.
servers:
  - url: https://api.cakto.com.br
    description: Cakto API
security: []
paths:
  /public_api/subscriptions/{id}/cancel/:
    post:
      tags:
        - subscriptions
      description: >-
        Public API for managing subscriptions, inherits from
        SubscriptionAPIView,

        customizes the schema generation and authentication/permission settings.
      operationId: subscriptions_cancel
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionActionResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionError'
          description: Assinatura já cancelada ou estado atual não permite cancelamento.
        '401':
          description: Request não autenticado devido à ausência ou invalidez do token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
              examples:
                Token ausente ou inválido:
                  $ref: '#/components/examples/UnauthenticatedErrorExample'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionError'
          description: Assinatura não encontrada.
      security:
        - OAuth Token: []
components:
  schemas:
    SubscriptionActionResponse:
      type: object
      properties:
        detail:
          type: string
          description: Mensagem de retorno da operação
        status:
          allOf:
            - $ref: '#/components/schemas/SubscriptionStatusEnum'
          nullable: true
          description: Status atual da assinatura após a ação
      required:
        - detail
    SubscriptionError:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
    UnauthenticatedError:
      type: object
      properties:
        detail:
          type: string
    SubscriptionStatusEnum:
      enum:
        - active
        - inactive
        - canceled
        - expired
        - paused
        - trial
      type: string
      description: |-
        * `active` - Ativa
        * `inactive` - Inativa
        * `canceled` - Cancelada
        * `expired` - Expirada
        * `paused` - Pausada
        * `trial` - Em período de teste
  examples:
    UnauthenticatedErrorExample:
      summary: Token ausente ou inválido
      description: Token ausente ou inválido
      value:
        detail: As credenciais de autenticação não foram fornecidas.
  securitySchemes:
    OAuth Token:
      type: http
      scheme: bearer
      in: header
      name: Authorization
      description: >-
        Token de autenticação do tipo `Bearer {access_token}`, onde
        `{access_token}` é o token obtido no fluxo de
        [autenticação](/authentication).

````