PagnovoPagnovodocs

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/:id

Autenticação

HTTP Basic Auth. Envie sua secret key no header:

Authorization: Basic {base64(secret:SUA_SECRET_KEY)}

Parâmetros

idstring (path, UUID)obrigatório

UUID 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" }'