---
title: "Cadastra um novo plano."
method: POST
path: "/v1/plans"
tags: ["plans"]
---

# Cadastra um novo plano.

`POST /v1/plans`

Verifique documentação dos atributos no método `GET plans/{id}`.

## Request body

- PostV1Plans — Cadastra um novo plano.
  - `body` string — JSON com atributos do novo plano.
  - `name` string, required — Nome do plano
  - `interval` 'days' | 'months', required — Duração do intervalo
  - `interval_count` integer, required — Número de intervalos dentro de um período
  - `billing_trigger_type` 'beginning_of_period' | 'end_of_period' | 'day_of_month', required — Referência para data de geração da cobrança
  - `billing_trigger_day` integer, required — Dia para geração da cobrança
  - `billing_cycles` integer — Número máximo de períodos em uma assinatura. Nulo significa duração indefinida
  - `code` string — Código externo para referência via API
  - `description` string — Descrição interna do plano
  - `installments` integer — Número de parcelas. Se não for informado, o valor '1' será utilizado
  - `invoice_split` string — Nota fiscal fracionada
  - `status` 'active' | 'inactive' | 'deleted' — Status do plano
  - `plan_items` PlanItemParametersCreate[] — Lista de itens incluídos no plano
    - `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
    - `product_id` integer, required — ID do item
  - `metadata` 'array' — Metadados do plano

## Response `201`

Plano cadastrado com sucesso.

- Plan — Utilize este método para listar os planos associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca <code>id</code>, <code>installments</code>, <code>name</code>, <code>interval_count</code>, <code>interval</code>, <code>billing_cycles</code>, <code>code</code>, <code>status</code>, <code>billing_trigger_day</code>, <code>billing_trigger_type</code>, <code>created_at</code> e <code>updated_at</code>.
  - `id` integer, required — ID do plano
  - `name` string, required — Nome do plano
  - `interval` 'days' | 'months', required — Duração do intervalo
  - `interval_count` integer, required — Número de intervalos dentro de um período
  - `billing_trigger_type` 'beginning_of_period' | 'end_of_period' | 'day_of_month', required — Referência para data de geração da cobrança
  - `billing_trigger_day` integer, required — Dia para geração da cobrança
  - `billing_cycles` integer — Número máximo de períodos em uma assinatura. Nulo significa duração indefinida
  - `code` string — Código externo para referência via API
  - `description` string — Descrição interna do plano
  - `status` 'active' | 'inactive' | 'deleted', required — Status do plano
  - `installments` integer, required — Número de parcelas
  - `invoice_split` string, required — Nota fiscal fracionada
  - `interval_name` string, required — Nome do intervalo do plano gerado automaticamente a partir dos parâmetros de duração
  - `created_at` string, required — Data e hora do cadastro do plano
  - `updated_at` string, required — Data e hora da última atualização do plano
  - `plan_items` PlanItem[] — Lista de produtos incluídos no plano. Este atributo exibe os primeiros 25 itens. Para os demais, consulte o método `GET /plans/:id/plan_items`
    - `id` integer, required — ID do item do plano
    - `product` Product, required — Utilize este método para listar os produtos associados à sua conta na Vindi. Leia a documentação sobre [paginação](http://atendimento.vindi.com.br/hc/pt-br/articles/203020644#pagination) e [filtros de busca](http://atendimento.vindi.com.br/hc/pt-br/articles/204163150). #### Atributos para busca <code>id</code>, <code>name</code>, <code>code</code>, <code>status</code>, <code>invoice</code>, <code>unit</code>, <code>pricing_schema_id</code>, <code>created_at</code>, <code>updated_at</code>, <code>schema_type</code> e <code>price</code>.
      - `id` integer, required — ID do produto
      - `name` string, required — Nome do produto
      - `code` string — Código externo do produto
      - `unit` string — Texto para descrever uma unidade do produto. Apenas para quantidade variável
      - `status` 'active' | 'inactive' | 'deleted', required — Status do produto
      - `description` string — Descrição interna do produto
      - `invoice` 'always' | 'never' — Indica se este produto será incluído na emissão de notas fiscais. Se não informado, o valor `always` será utilizado
      - `created_at` string, required — Data e hora do cadastro do produto
      - `updated_at` string, required — Data e hora da última atualização 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
      - `metadata` object — Metadados 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
    - `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
    - `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
  - `metadata` object — Metadados do plano

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