---
title: "Cadastra um novo item em uma assinatura existente."
method: POST
path: "/v1/product_items"
tags: ["product_items"]
---

# Cadastra um novo item em uma assinatura existente.

`POST /v1/product_items`

Novos itens serão aplicados apenas em novas faturas. Se desejar incluir o novo item em uma fatura existente você deverá cancelar a fatura em questão e efetuar a reemissão.

#### Precificação
Informe o parâmetro `pricing_schema` apenas se quiser customizar a precificação para o novo 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.

## Request body

- PostV1ProductItems — Cadastra um novo item em uma assinatura existente.
  - `body` string — JSON com atributos do novo item.
  - `product_id` integer, required — ID do produto associado
  - `subscription_id` integer, required — ID da assinatura existente
  - `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 `201`

Item cadastrado 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.
- `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)
