> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upag.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar cupom

> Atualiza nome, atividade, limites ou produtos elegíveis

Atualização parcial. `type`, `code`, `percentOff`, `amountOff` e `currency` não podem ser alterados; para isso, crie outro cupom.

Permissão: `coupon.write` (chave secreta).

## Endpoint

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PATCH https://api.upag.dev/v1/coupons/a3c4d5e6-7f80-4912-8abc-0d1e2f3a4b5c \
    -H "Authorization: Bearer sk_test_your_api_key" \
    -H "Content-Type: application/json" \
    -d '{
      "active": false,
      "maxUses": null
    }'
  ```

  ```javascript Node.js SDK theme={null}
  import { Upag } from 'upag';

  const upag = new Upag('sk_test_your_api_key');

  const coupon = await upag.coupons.update('a3c4d5e6-7f80-4912-8abc-0d1e2f3a4b5c', {
    active: false,
    maxUses: null,
  });
  ```
</CodeGroup>

<Note>
  Em produção use `https://api.upag.io/v1` com `sk_live_...`.
</Note>

## Parâmetros

<ParamField path="couponId" type="string (uuid)" required>
  ID do cupom.
</ParamField>

<ParamField body="name" type="string">
  Novo nome (mínimo 3 caracteres).
</ParamField>

<ParamField body="description" type="string | null">
  Nova descrição (mínimo 3 caracteres) ou `null` para limpar.
</ParamField>

<ParamField body="active" type="boolean">
  Ativa ou desativa o cupom.
</ParamField>

<ParamField body="maxUses" type="integer | null">
  Novo limite de usos (≥ 1) ou `null` para ilimitado.
</ParamField>

<ParamField body="expiresAt" type="string (ISO 8601) | null">
  Nova expiração ou `null` para remover.
</ParamField>

<ParamField body="appliesTo" type="string">
  `all` ou `specific`. Ao enviar `specific`, envie também `appliesToProducts` não vazio.
</ParamField>

<ParamField body="appliesToProducts" type="string[] | null">
  UUIDs de produtos elegíveis.
</ParamField>

## Resposta

`200 OK`

```json Response theme={null}
{
  "id": "a3c4d5e6-7f80-4912-8abc-0d1e2f3a4b5c",
  "name": "Black Friday",
  "description": null,
  "active": false,
  "type": "percentage",
  "code": "BLACK20",
  "currency": null,
  "amountOff": null,
  "percentOff": 20,
  "uses": 3,
  "maxUses": null,
  "appliesTo": "all",
  "appliesToProducts": null,
  "expiresAt": "2026-12-01T00:00:00.000Z",
  "createdAt": "2026-03-18T11:10:00.000Z",
  "updatedAt": "2026-03-18T12:30:00.000Z"
}
```

`404` (`COUPON_NOT_FOUND`) se o cupom não existir.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.