Cupons

Atualizar Cupom

PUT/v1/coupons/:couponId
Base URL Produção:https://api.validapay.com.br
Base URL Sandbox:https://sandbox.validapay.com.br

Authorizations

bearer

Authorization

string obrigatório

Cabeçalho de autenticação Bearer no formato Bearer {{token}} onde {{token}} é o seu token OAuth2.

Escopos requeridos

products/write

Path Parameters

couponIdstringobrigatório
Couponid

Atualiza um cupom existente. O código (code) não pode ser alterado; para desativar um código, crie outro cupom. Todos os demais campos aceitam as mesmas regras de Criar Cupom.

Body

application/json

Content-Type:application/json
JSON
{
  "name": "Cupom de boas-vindas",
  "description": "10% na primeira cobrança",
  "discountType": "PERCENTAGE",
  "discountValue": 10,
  "extraPeriodUnit": "MONTHS",
  "maxCycles": 3,
  "maxRedemptions": 100,
  "minAmount": 50.00,
  "maxDiscount": 30.00,
  "validFrom": "2026-09-01T00:00:00.000Z",
  "validUntil": "2026-12-31T23:59:59.000Z",
  "productIds": ["price_1788364755079_psuecwgdc"],
  "firstTimeOnly": true,
  "appliesTo": "RECURRING"
}

Schema

namestringopcional
Regra:até 100 caracteres
descriptionstringopcional
Regra:até 255 caracteres
discountTypestringopcional
code não pode ser alterado
Valores aceitos:PERCENTAGEFIXEDEXTRA_PERIOD
discountValuenumberopcional
Regra:0.01
extraPeriodUnitstringopcional
Obrigatório se discountType=EXTRA_PERIOD
Valores aceitos:DAYSMONTHS
maxCyclesnumberopcional
Regra:1
maxRedemptionsnumberopcional
Regra:1
minAmountnumberopcional
Regra:0.01
maxDiscountnumberopcional
Regra:0.01
validFromstringopcional
Regra:date-time
validUntilstringopcional
Regra:date-time
productIdsarray[1]opcional
firstTimeOnlybooleanopcional
appliesTostringopcional
Valores aceitos:ALLRECURRINGONE_TIME
const url = 'https://sandbox.validapay.com.br/v1/coupons/:couponId';

const options = {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer {{token}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "name": "Cupom de boas-vindas",
  "description": "10% na primeira cobrança",
  "discountType": "PERCENTAGE",
  "discountValue": 10,
  "extraPeriodUnit": "MONTHS",
  "maxCycles": 3,
  "maxRedemptions": 100,
  "minAmount": 50.00,
  "maxDiscount": 30.00,
  "validFrom": "2026-09-01T00:00:00.000Z",
  "validUntil": "2026-12-31T23:59:59.000Z",
  "productIds": ["price_1788364755079_psuecwgdc"],
  "firstTimeOnly": true,
  "appliesTo": "RECURRING"
})
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Response Examples

200200
JSON
{
  "couponId": "coup_1789157079333_fq358baak",
  "accountId": "4231833",
  "code": "BEMVINDO10",
  "name": "Cupom de boas-vindas",
  "description": "10% na primeira cobrança",
  "discountType": "PERCENTAGE",
  "discountValue": 10,
  "extraPeriodUnit": null,
  "maxCycles": 3,
  "maxRedemptions": 100,
  "currentRedemptions": 12,
  "minAmount": 50.0,
  "maxDiscount": 30.0,
  "validFrom": "2026-09-01T00:00:00.000Z",
  "validUntil": "2026-12-31T23:59:59.000Z",
  "productIds": [
    "price_1788364755079_psuecwgdc"
  ],
  "firstTimeOnly": true,
  "appliesTo": "RECURRING",
  "status": "ACTIVE",
  "createdAt": "2026-09-01T10:00:00.000Z",
  "updatedAt": "2026-09-01T10:00:00.000Z"
}
400400
JSON
{
        "error": {
                "message": "Dados inválidos",
                "code": "VALIDATION_ERROR",
                "details": null,
                "timestamp": "2026-09-11T21:00:00.000Z"
        }
}
404404
JSON
{
        "error": {
                "message": "Cupom não encontrado",
                "code": "COUPON_NOT_FOUND",
                "details": null,
                "timestamp": "2026-09-11T21:00:00.000Z"
        }
}