Plano e itens
Remover item
Remove um item da assinatura.
DELETE
/v1/subscriptions/:subscriptionId/items/:itemIdBase URL Produção:
https://api.validapay.com.brBase URL Sandbox:
https://sandbox.validapay.com.brO que acontece com a cobrança: por padrão o item sai a partir da próxima cobrança, e a cobrança atual não muda. Com effectiveAt: "IMMEDIATE", o item sai já do ciclo atual.
Pix Automático:
- Se o débito do próximo ciclo já foi enviado ao banco do pagador, ele sai com o valor atual e a remoção vale a partir do ciclo seguinte. A resposta traz
instructedCycle,effectiveCycleNumber, eeffectiveDatecom a data desse ciclo. - Remoção que deixe a mensalidade abaixo do mínimo do Pix Automático é recusada com
PIX_AUTOMATICO_MIN_AMOUNT; em autorização de valor fixo, comPIX_AUTOMATICO_FIXED_AMOUNT.
O plano principal não pode ser removido; para encerrar a assinatura use Cancelar assinatura.
Authorizations
bearer
Authorization
string obrigatório
Cabeçalho de autenticação Bearer no formato Bearer {{token}} onde {{token}} é o seu token OAuth2.
Escopos requeridos
subscriptions/write
Path Parameters
subscriptionIdstringobrigatórioID da assinatura (ex: sub_xxx) - required
itemIdstringobrigatórioID do item da assinatura, em items[].itemId de Ver uma assinatura (ex: item_xxx) - required
Body
application/json
Content-Type:application/json
JSON
{
"effectiveAt": "NEXT_CYCLE"
}Schema
effectiveAtstringopcionalNEXT_CYCLE: sai a partir da próxima cobrança. IMMEDIATE: sai já do ciclo atual (padrão NEXT_CYCLE)
Valores aceitos:
NEXT_CYCLEIMMEDIATEconst url = 'https://sandbox.validapay.com.br/v1/subscriptions/:subscriptionId/items/:itemId';
const options = {
method: 'DELETE',
headers: {
'Authorization': 'Bearer {{token}}'
},
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));Response Examples
200▾
JSON
{
"success": true,
"type": "ITEM_REMOVED",
"subscriptionId": "sub_xxx",
"itemId": "item_addon",
"removedAmount": 30.0,
"recurringTotal": 99.9,
"effectiveAt": "NEXT_CYCLE",
"effectiveDate": "2026-10-10T00:00:00.000Z"
}Campos da resposta
successbooleantrue quando o item foi removido
typestringITEM_REMOVED: removido agora. ALREADY_REMOVED: o item já tinha sido removido
Valores aceitos:
ITEM_REMOVEDALREADY_REMOVEDsubscriptionIdstringID da assinatura
itemIdstringItem removido
removedAmountnumberQuanto o item representava por ciclo, em reais
recurringTotalnumberNovo total recorrente da assinatura, em reais
effectiveAtstringQuando a remoção vale
Valores aceitos:
NEXT_CYCLEIMMEDIATEeffectiveDatestringData a partir da qual o item deixa de ser cobrado
200Pix Automático com débito já enviado▾
JSON
{
"success": true,
"type": "ITEM_REMOVED",
"subscriptionId": "sub_xxx",
"itemId": "item_addon",
"removedAmount": 30.0,
"recurringTotal": 99.9,
"effectiveAt": "NEXT_CYCLE",
"effectiveDate": "2026-11-10T00:00:00.000Z",
"instructedCycle": {
"cycleNumber": 4,
"chargeDate": "2026-10-10T00:00:00.000Z",
"amount": 129.9
},
"effectiveCycleNumber": 5
}Campos da resposta
successbooleantypestringsubscriptionIdstringitemIdstringremovedAmountnumberrecurringTotalnumbereffectiveAtstringeffectiveDatestringVencimento do ciclo seguinte ao débito já enviado
instructedCycleobjectDébito Pix Automático já enviado ao banco do pagador, que mantém o valor com o item. Só quando existe
effectiveCycleNumbernumberPrimeiro ciclo cobrado sem o item. Só quando existe débito já enviado
404▾
JSON
{
"error": {
"message": "Item não encontrado",
"code": "ITEM_NOT_FOUND",
"details": null,
"timestamp": "2026-09-24T12:00:00.000Z"
}
}