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

# Editar

> Atualize os dados de um produto existente

## Visão geral

Este endpoint permite atualizar parcialmente os dados de um produto já cadastrado, como nome, preço e status.

## Endpoint

<CodeGroup>
  ```bash cURL theme={null}
  curl --request PATCH \
    --url https://api.avanttifinance.com/v1/products/{product_id} \
    --header "Authorization: Bearer SEU_TOKEN_DE_ACESSO" \
    --header "Content-Type: application/json" \
    --data '{
      "name": "Plano Premium - Anual",
      "price": 99900
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://api.avanttifinance.com/v1/products/" + productId,
    {
      method: "PATCH",
      headers: {
        Authorization: \`Bearer \${accessToken}\`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        name: "Plano Premium - Anual",
        price: 99900,
      }),
    }
  );

  const product = await response.json();
  console.log(product);
  ```

  ```python Python theme={null}
  import requests

  url = f"https://api.avanttifinance.com/v1/products/{product_id}"
  headers = {
      "Authorization": f"Bearer {access_token}",
      "Content-Type": "application/json",
  }
  payload = {
      "name": "Plano Premium - Anual",
      "price": 99900,
  }

  response = requests.patch(url, headers=headers, json=payload)
  print(response.json())
  ```
</CodeGroup>

## Parâmetros de path

<ParamField path="product_id" type="string" required>
  Identificador único do produto a ser atualizado.
</ParamField>

## Parâmetros do corpo

<ParamField body="name" type="string">
  Novo nome do produto.
</ParamField>

<ParamField body="price" type="integer">
  Novo preço do produto, em centavos.
</ParamField>

<ParamField body="status" type="string">
  Novo status do produto: `active` ou `inactive`.
</ParamField>

<ParamField body="description" type="string">
  Nova descrição do produto.
</ParamField>

## Resposta

Retorna o objeto do produto com os dados atualizados.

```json theme={null}
{
  "id": "prod_4f5e6d7c8b",
  "name": "Plano Premium - Anual",
  "price": 99900,
  "status": "active",
  "updated_at": "2026-06-11T10:00:00Z"
}
```

<Tip>
  Alterar o preço de um produto não afeta cobranças e assinaturas já criadas — apenas novas cobranças geradas após a atualização.
</Tip>

## Erros comuns

| Código HTTP | Significado                               |
| ----------- | ----------------------------------------- |
| 400         | Dados inválidos no corpo da requisição    |
| 401         | Token de autenticação inválido ou ausente |
| 404         | Produto não encontrado                    |

## Próximos passos

<CardGroup cols={2}>
  <Card title="Listar produtos" icon="package-2" href="/listar-1">
    Consulte todos os produtos cadastrados.
  </Card>

  <Card title="Deletar produto" icon="package-x" href="/deletar-1">
    Remova um produto da sua conta.
  </Card>
</CardGroup>
