# Atualizar Cupom
`PUT /v1/coupons/:couponId`
**Área:** Cupons

**Scopes necessários:** `products/write`

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.

### Path parameters

| Campo | Obrigatório | Descrição |
|---|---|---|
| `couponId` | **sim** | Couponid |

### Request body

```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"
}
```

### Campos do body

**Opcionais**

| Campo | Descrição |
|---|---|
| `name` |  |
| `description` |  |
| `discountType` | code não pode ser alterado (valores: PERCENTAGE, FIXED, EXTRA_PERIOD) |
| `discountValue` |  (mín.: 0.01) |
| `extraPeriodUnit` | Obrigatório se discountType=EXTRA_PERIOD (valores: DAYS, MONTHS) |
| `maxCycles` |  (mín.: 1) |
| `maxRedemptions` |  (mín.: 1) |
| `minAmount` |  (mín.: 0.01) |
| `maxDiscount` |  (mín.: 0.01) |
| `validFrom` |  (formato: date-time) |
| `validUntil` |  (formato: date-time) |
| `productIds` |  |
| `firstTimeOnly` |  |
| `appliesTo` |  (valores: ALL, RECURRING, ONE_TIME) |

### Resposta 200: 200

```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"
}
```

### Resposta 400: 400

```json
{
        "error": {
                "message": "Dados inválidos",
                "code": "VALIDATION_ERROR",
                "details": null,
                "timestamp": "2026-09-11T21:00:00.000Z"
        }
}
```

### Resposta 404: 404

```json
{
        "error": {
                "message": "Cupom não encontrado",
                "code": "COUPON_NOT_FOUND",
                "details": null,
                "timestamp": "2026-09-11T21:00:00.000Z"
        }
}
```

---
Página: https://docs.validapay.com.br/referencia/put-atualizar-cupom
Contrato OpenAPI: https://docs.validapay.com.br/openapi.json