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

# Atualizar uma oferta

> Renomeia uma oferta, ativa ou desativa, ou a torna a padrão do produto.

<Info>
  `PATCH /v1/offers/{offerId}`  ·  Requer o escopo `products:write`
</Info>

Atualiza campos mutáveis de uma oferta. Preço, moeda e condições de cobrança são imutáveis — crie uma nova oferta para um preço diferente.

## Parâmetros de caminho

<ParamField path="offerId" type="string" required>
  O ID da oferta. Se não for um ID `offer_` válido → `400` (`invalid_offer_id`).
</ParamField>

## Parâmetros do corpo

Envie ao menos um campo.

<ParamField body="name" type="string">
  Novo rótulo, de 1 a 160 caracteres. Vazio após remover espaços → `400` (`invalid_offer_name`).
</ParamField>

<ParamField body="active" type="boolean">
  Habilita ou desabilita a oferta para novos checkouts.
</ParamField>

<ParamField body="is_default" type="boolean">
  `true` promove esta oferta a padrão do produto e rebaixa a anterior.
</ParamField>

## Requisição

```bash cURL theme={null}
curl --request PATCH \
  https://api.moneydev.com.br/v1/offers/offer_b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e \
  --header "Authorization: Bearer $ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{ "name": "Mensal (promo)", "is_default": true }'
```

## Resposta

`200 OK` com o [objeto de oferta](/api-reference/offers/create#objeto-de-oferta) atualizado.

## Erros

| Status | `code` | Causa |
| - | - | - |
| `400` | `invalid_offer_id` | O trecho do caminho não é um ID `offer_` válido |
| `400` | `invalid_offer_name` | `name` foi enviado mas está vazio |
| `404` | `offer_not_found` | Não existe essa oferta, ou ela está arquivada |
| `409` | `default_offer_cannot_be_disabled` | Tentou `active: false` ou `is_default: false` na oferta padrão atual — promova outra oferta primeiro |
| `409` | `inactive_offer_cannot_be_default` | Tentou tornar padrão uma oferta inativa sem também enviar `active: true` |


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