> ## 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 produto

> Atualiza nome, descrição ou imagem do produto

Atualização parcial: campos omitidos permanecem como estão.

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

## Endpoint

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PATCH https://api.upag.dev/v1/products/0b9c1f3e-6a4d-4c1e-9d55-3f1f6a7c2e10 \
    -H "Authorization: Bearer sk_test_your_api_key" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Plano Pro+",
      "description": "Acesso completo e suporte prioritário"
    }'
  ```

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

  const upag = new Upag('sk_test_your_api_key');

  const product = await upag.products.update('0b9c1f3e-6a4d-4c1e-9d55-3f1f6a7c2e10', {
    name: 'Plano Pro+',
    description: 'Acesso completo e suporte prioritário',
  });
  ```
</CodeGroup>

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

## Parâmetros

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

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

<ParamField body="description" type="string">
  Nova descrição (mínimo 1 caractere).
</ParamField>

<ParamField body="image" type="string">
  Nova URL de imagem.
</ParamField>

## Resposta

`200 OK`

```json Response theme={null}
{
  "id": "0b9c1f3e-6a4d-4c1e-9d55-3f1f6a7c2e10",
  "name": "Plano Pro+",
  "description": "Acesso completo e suporte prioritário",
  "image": "https://example.com/plano-pro.png",
  "createdAt": "2026-03-18T11:00:00.000Z",
  "updatedAt": "2026-03-18T12:30:00.000Z"
}
```

`404` (`PRODUCT_NOT_FOUND`) se o produto não existir.


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