Skip to main content
Atualiza um product com semântica de merge: campos ausentes ficam como estão; envie null para limpar campos opcionais. metadata e marketing_features, quando enviados, substituem a lista/objeto inteiro. A resposta direta não carrega diff; quem precisa de diff lê o webhook product.updated.

Autenticação

A API key da própria organização atua diretamente. A API key de plataforma exige o header Organization: <organization_id> apontando para uma organização conectada ativa.

Parâmetros de caminho

string
required
ID do produto (prod_*).

Attributes

Todos os campos são opcionais.
string \| null
Aponta o default_price_id para outro preço existente do mesmo produto. Envie null para limpar.
string \| null
Nova descrição. Envie null para limpar.
string \| null
Nova imagem. Use a URL retornada por POST /v1/files com purpose=product_image. Envie null para limpar. URLs externas não são aceitas.
boolean
false tira o produto de novos fluxos de compra. true reativa.
boolean
Ajusta a flag tributável.
array
Substitui completamente a lista de recursos de marketing quando enviado. No máximo 15 itens; cada name até 80 caracteres. Envie [] para limpar.
object
Substitui completamente o metadata atual quando enviado.
string
Novo nome. Quando enviado, não pode ser vazio.

Resposta

200 OK com o objeto product completo (mesmo shape de GET /v1/products/:id).

Erros comuns

Webhook

A atualização dispara product.updated com o product completo em data.object e o diff em data.previous_attributes.