Referência da API
Cancelar assinatura
Marca a Subscription como CANCELED (final, não pode ser reativada). Em uma única transação atômica, também cancela todas as Invoices vinculadas em status PENDING, OVERDUE ou DRAFT (Invoices PAID, REFUNDED, CANCELED ou EXPIRED não são afetadas).
Pra parar temporariamente, prefira POST /:id/pause.
POST
/v2/subscriptions/:id/cancelCancel é final e cascateia para invoices
id Diferente de pause, cancel não pode ser desfeito via API. E todas as invoices PENDING/OVERDUE/DRAFT desta subscription também são canceladas — o cliente não consegue pagar mais nenhuma delas. Se o cliente já pagou alguma, essa Invoice permanece PAID.Autenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Parâmetros
idstring (path, UUID)obrigatórioUUID da Subscription.
Exemplo: sub_abc123-...
Body da requisição
Content-Type: application/json
JSON
{
"reason": "Cliente solicitou cancelamento por chat"
}Respostas
200
Subscription cancelada. invoicesCanceled informa quantas invoices PENDING/OVERDUE/DRAFT foram canceladas em cascata.
JSON
{
"subscription": {
"id": "sub_abc123-...",
"status": "CANCELED",
"canceledAt": "2026-09-15T16:00:00.000Z",
"canceledReason": "Cliente solicitou cancelamento por chat",
"updatedAt": "2026-09-15T16:00:00.000Z"
},
"invoicesCanceled": 1
}400
Subscription já está cancelada ou expirada.
JSON
{ "status": 400, "error": "Subscription ja esta CANCELED" }404
Subscription não encontrada.
JSON
{ "status": 404, "error": "Subscription nao encontrada" }Exemplos
cURL
curl -X POST "https://api.ihubplay.com/v2/subscriptions/sub_abc123-.../cancel" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
-H "Content-Type: application/json" \
-d '{ "reason": "Cliente solicitou cancelamento por chat" }'