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

# PUT /api/v1/coupons/:id: Atualizar Cupom Existente

> Atualiza valor, limite de usos, status ativo/inativo ou data de expiração de um cupom. Envie apenas os campos que deseja alterar na requisição.

Use este endpoint para modificar as configurações de um cupom de desconto já existente na sua loja. Você pode ajustar o valor do desconto, alterar o limite de usos, ativar ou desativar o cupom e estender ou alterar sua data de expiração. Apenas os campos enviados no body serão alterados.

## Método

`PUT /api/v1/coupons/:id` — Requer autenticação.

## Parâmetro de Rota

<ParamField path="id" type="string" required>
  Identificador único do cupom a ser atualizado (ex: `cpn_123`).
</ParamField>

## Parâmetros do Body

Todos os campos do body são opcionais. Envie apenas os campos que deseja alterar.

<ParamField body="value" type="number">
  Novo valor do desconto. Para cupons do tipo `percentage`, informe a porcentagem. Para `fixed`, informe o valor em reais.
</ParamField>

<ParamField body="maxUses" type="number">
  Novo limite máximo de utilizações do cupom.
</ParamField>

<ParamField body="active" type="boolean">
  Status de ativação do cupom. Use `true` para ativar ou `false` para desativar sem excluir o cupom.
</ParamField>

<ParamField body="expiresAt" type="string">
  Nova data e hora de expiração no formato ISO 8601. Use `null` para remover a data de expiração.
</ParamField>

## Exemplo de Requisição

```bash theme={null}
curl -X PUT 'https://api.bukiopay.com/api/v1/coupons/cpn_123' \
  --header 'Authorization: Bearer sk_live_sua_api_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "value": 25,
    "maxUses": 75,
    "active": true
  }'
```

## Resposta

```json theme={null}
{
  "message": "Cupom atualizado com sucesso",
  "coupon": {
    "id": "cpn_123",
    "code": "DESCONTO10",
    "value": 25,
    "maxUses": 75,
    "active": true,
    "updatedAt": "2026-05-07T10:30:00.000Z"
  }
}
```

## Campos da Resposta

<ResponseField name="message" type="string">
  Mensagem de confirmação da operação.
</ResponseField>

<ResponseField name="coupon" type="object">
  Objeto com os dados atualizados do cupom.

  <Expandable title="Propriedades do cupom">
    <ResponseField name="id" type="string">
      Identificador único do cupom.
    </ResponseField>

    <ResponseField name="code" type="string">
      Código do cupom (não pode ser alterado após a criação).
    </ResponseField>

    <ResponseField name="value" type="number">
      Valor atualizado do desconto.
    </ResponseField>

    <ResponseField name="maxUses" type="number">
      Limite máximo atualizado de utilizações.
    </ResponseField>

    <ResponseField name="active" type="boolean">
      Status de ativação atualizado do cupom.
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      Data e hora da última atualização no formato ISO 8601.
    </ResponseField>
  </Expandable>
</ResponseField>

<Tip>
  Para desativar temporariamente um cupom sem excluí-lo, utilize o campo `active: false`. Isso preserva o histórico de utilizações e permite reativá-lo posteriormente.
</Tip>


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