Referência da API
Atualizar cupom
Atualiza campos editáveis do cupom. **`discountType` e `discountValue` NÃO são editáveis aqui** — uma vez criado, o tipo e valor do desconto ficam congelados. Se precisar mudar, arquive e crie um novo. Cupons arquivados não podem ser editados.
PATCH
/v2/coupons/:idAutenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Parâmetros
idstring (path, UUID)obrigatórioUUID do cupom.
Exemplo: cpn_a8f3d2e1-9b4c-4e5f-8a7d-2e5f6c1d4b9a
Body da requisição
Content-Type: application/json
JSON
{
"description": "Promoção de verão estendida",
"maxUses": 1000,
"validUntil": "2027-01-31T23:59:59.000Z",
"status": "ACTIVE"
}Respostas
200
Cupom atualizado. Campos passados como null (onde permitido) limpam o valor; campos omitidos ficam como estavam.
JSON
{
"id": "cpn_a8f3d2e1-...",
"code": "VERAO2026",
"description": "Promoção de verão estendida",
"maxUses": 1000,
"validUntil": "2027-01-31T23:59:59.000Z",
"status": "ACTIVE",
"updatedAt": "2026-05-26T15:45:12.501Z"
}400
Causas: cupom arquivado, novo code já em uso, maxUses menor que currentUses atual, validUntil no passado, ou tentativa de setar status para algo diferente de ACTIVE/PAUSED.
JSON
{
"status": 400,
"error": "Nao pode reduzir limite abaixo do uso atual (47). Minimo permitido: 47."
}404
Cupom não encontrado.
JSON
{ "status": 404, "error": "Cupom nao encontrado" }Exemplos
cURL
curl -X PATCH "https://api.pagnovo.com/v2/coupons/cpn_a8f3d2e1-..." \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
-H "Content-Type: application/json" \
-d '{ "maxUses": 1000, "validUntil": "2027-01-31T23:59:59.000Z" }'