> ## Documentation Index
> Fetch the complete documentation index at: https://scaleup-c34c4386.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# DELETE /api/v1/subscriptions/:id

> Cancela uma assinatura imediatamente ou agenda o cancelamento ao fim do período

Cancela uma assinatura. Por padrão agenda o cancelamento ao fim do período de cobrança atual. Para cancelamento imediato, envie `cancel_at_period_end: false`.

## Autenticação

> [!NOTE]
>
> Requer um token de acesso válido (`CHARGEFY_ACCESS_TOKEN`) no header `Authorization`. Escopos necessários: `web:write` ou `subscriptions:write`.

## Parâmetros de Path

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `id` | `string` | Sim | ID da assinatura |

## Parâmetros do Body

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `cancel_at_period_end` | `boolean` | Não | Se `true` (padrão), cancela ao fim do período atual. Se `false`, cancela imediatamente |
| `customer_cancellation_reason` | `string` | Não | Motivo do cancelamento informado pelo cliente. Valores: `customer_service`, `low_quality`, `missing_features`, `switched_service`, `too_complex`, `too_expensive`, `unused`, `other` |
| `customer_cancellation_comment` | `string` | Não | Comentário livre do cliente sobre o cancelamento |

## Campos da Resposta

Retorna o objeto da assinatura com status atualizado.

| Campo | Tipo | Descrição |
| - | - | - |
| `id` | `string` | ID da assinatura |
| `status` | `string` | Status atualizado (`canceled` ou `active` com `cancel_at_period_end: true`) |
| `cancel_at_period_end` | `boolean` | Se o cancelamento está agendado para o fim do período |
| `ended_at` | `datetime` | Data do encerramento definitivo (se já cancelada) |

## Exemplo de Requisição

```bash cURL theme={null}
curl -X DELETE "https://api.chargefy.io/api/v1/subscriptions/sub_1a2b3c4d" \
  -H "Authorization: Bearer $CHARGEFY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "cancel_at_period_end": true,
    "customer_cancellation_reason": "too_expensive"
  }'
```

```typescript SDK theme={null}
import { Chargefy } from '@chargefy/sdk';

const chargefy = new Chargefy({
  accessToken: process.env.CHARGEFY_ACCESS_TOKEN,
});

const subscription = await chargefy.subscriptions.cancel('sub_1a2b3c4d', {
  cancel_at_period_end: true,
  customer_cancellation_reason: 'too_expensive',
});
```

## Exemplo de Resposta

```json theme={null}
{
  "id": "sub_1a2b3c4d",
  "status": "active",
  "customer_id": "cus_9x8y7z",
  "product_id": "prod_abc123",
  "product_price_id": "price_def456",
  "current_period_start": "2026-03-01T00:00:00Z",
  "current_period_end": "2026-04-01T00:00:00Z",
  "cancel_at_period_end": true,
  "ended_at": null,
  "created_at": "2026-01-15T10:30:00Z"
}
```


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