---
title: "Atualiza um item existente."
method: PUT
path: "/v1/product_items/{id}"
tags: ["product_items"]
---

# Atualiza um item existente.

`PUT /v1/product_items/{id}`

É possível atualizar um item em uma assinatura existente, porém isso não causará nenhum reflexo imediato nas faturas já emitidas. Alterações em um item serão aplicadas apenas na próxima fatura gerada, porém de qualquer forma é possível cancelar e reemitir uma fatura já gerada.

#### Precificação
Informe o parâmetro `pricing_schema` apenas se quiser alterar a precificação atual do item. Consulte este [artigo](http://atendimento.vindi.com.br/hc/pt-br/articles/203303380) para mais informações sobre o cálculo da precificação.

## Path parameters

- `id` integer, required

## Request body

- PutV1ProductItems — Atualiza um item existente.
  - `body` string — JSON com novos atributos do item.
  - `status` 'active' | 'inactive' | 'deleted', required — Status do item
  - `cycles` integer — Número de ciclos de recorrência onde o produto será aplicado a partir do momento de sua criação. Nulo significa duração ilimitada
  - `quantity` integer — Quantidade do produto incluído na assinatura. Se não for informado, o valor '1' será utilizado
  - `pricing_schema` PricingSchemaParameters
    - `price` number, required — Preço base
    - `minimum_price` number — Preço mínimo
    - `schema_type` 'flat' | 'per_unit' | 'step_usage' | 'volume_usage' | 'tier_usage', required — Tipo de cálculo da precificação
    - `pricing_ranges` PricingRangeParameters[] — Lista de faixas de precificação
      - `start_quantity` integer, required — Início da faixa
      - `end_quantity` integer — Término da faixa. Opcional apenas para a última
      - `price` number, required — Preço da unidade ou da faixa, dependendo do tipo escolhido
      - `overage_price` number — Preço unitário do excedente da faixa

## Response `200`

Item atualizado com sucesso.

- ProductItem — Uma assinatura (`subscription`) é composta de um ou mais `product_items`, que representam os itens da assinatura que serão usados para criar as faturas (`bill`) de cada período (`period`).
  - `id` integer, required — ID do item
  - `status` 'active' | 'inactive' | 'deleted', required — Status do item
  - `uses` integer — Número de ciclos de recorrência que utilizaram o produto.
  - `cycles` integer — Número de ciclos de recorrência onde o produto será aplicado a partir do momento de sua criação. Nulo significa duração ilimitada
  - `quantity` integer — Quantidade do produto incluído na assinatura. Se não for informado, o valor '1' será utilizado
  - `created_at` string, required — Data e hora da criação do item
  - `updated_at` string, required — Data e hora da última atualização do item
  - `product` ProductSummary, required
    - `id` integer, required — ID do produto
    - `name` string, required — Nome do produto
    - `code` string — Código externo do produto
  - `pricing_schema` PricingSchema
    - `id` string, required — ID do esquema de precificação
    - `short_format` string, required — Descrição da precificação gerada automaticamente
    - `price` number, required — Preço base
    - `minimum_price` number — Preço mínimo
    - `schema_type` 'flat' | 'per_unit' | 'step_usage' | 'volume_usage' | 'tier_usage', required — Tipo de cálculo da precificação
    - `pricing_ranges` PricingRange[] — Lista de faixas de precificação
      - `id` string, required — ID do faixa de precificação
      - `start_quantity` integer, required — Início da faixa
      - `end_quantity` integer — Término da faixa. Opcional apenas para a última
      - `price` number, required — Preço da unidade ou da faixa, dependendo do tipo escolhido
      - `overage_price` number — Preço unitário do excedente da faixa
    - `created_at` string, required — Data e hora do cadastro do esquema de precificação
  - `discounts` DiscountSummary[] — Lista de descontos ativos. Descontos já aplicados não serão retornados
    - `id` integer, required — ID do desconto
    - `discount_type` 'percentage' | 'amount' | 'quantity', required — Tipo do desconto
    - `percentage` number — Valor numérico para porcentagem de 0.01 até 100
    - `amount` number — Valor para desconto fixo
    - `quantity` integer — Número para desconto por quantidade
    - `cycles` integer — Número de ciclos de recorrência onde o desconto será aplicado a partir do momento de sua criação. Nulo significa desconto por tempo indefinido

## Other responses

- `400` — Erro de sintaxe JSON no corpo do request.
- `404` — Item não encontrado.
- `422` — Parâmetros inválidos. Verificar erro na resposta.

---

[API](https://skmtc.net/vindi/apis/001-vindi-pagamentos-agost.md) · [All operations](https://skmtc.net/vindi/apis/001-vindi-pagamentos-agost/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vindi/001-vindi-pagamentos-agost/revisions/9d11e5de9308/schema)
