---
title: "Retorna um plano específico através do ID."
method: GET
path: "/v1/plans/{id}"
tags: ["plans"]
---

# Retorna um plano específico através do ID.

`GET /v1/plans/{id}`

Utilize esta função para obter um plano cadastrado na plataforma. Planos são utilizados para definir a base das assinaturas. Uma nova assinatura herdará a maioria dos atributos do plano respectivo no momento de sua criação. Se um plano for alterado, assinaturas associadas não serão atualizadas automaticamente.

#### Duração do plano

A duração do plano é definida a partir da combinação de 3 atributos: `interval`, `interval_count` e `billing_cycles`. Com esses atributos é possível gerar qualquer combinação possível de periodicidade e duração. Exemplos:

Duração                          |`interval`|`interval_count`|`billing_cycles`
---------------------------------|----------|---------------|----------------
Plano mensal com duração ilimitada |'months'   | 1              | (nulo)
Plano mensal com duração de 3 meses |'months'   | 1              | 3
Plano semanal com duração de 3 meses |'days'   | 7              | 12
Plano anual com duração ilimitada |'months'   | 12              | (nulo)
Plano mensal com duração de 1 ano |'months'   | 12              | 1


Calcula-se a duração de um período multiplicando a duração do intervalo (`interval`) pelo número de intervalos (`interval_count`). O número máximo de períodos é definido pelo atributo `billing_cycles`. Através destas combinações é possível gerar planos quinzenais, mensais, semanais, semestrais, trimestrais, anuais, etc.

O atributo `interval_name` no retorno exibe o nome do período gerado a partir dessas configurações.

#### Precificação

Um plano não possui nenhuma informação relacionada ao preço. O valor de uma assinatura será calculado a partir dos produtos associados ao plano. Os produtos associados ao plano estão representados no atributo `plan_items`.

#### Cobrança

A data da geracão da cobrança de um período deve ser configurada usando os atributos `billing_trigger_type`, que define a orientação da data de cobrança, e `billing_trigger_day`, que define o dia da cobrança. Exemplos:

Cobrança| `billing_trigger_type` | `billing_trigger_day` |
---------|-----------------------|----------------------
Exatamente no início do período| 'beginning_of_period' | 0
Cinco dias após o início do período| 'beginning_of_period' | 5
Dez dias antes do término do período| 'end_of_period' | -10
Um dia após o término do período| 'end_of_period' | 1
Exatamento no dia 20 de cada mês| 'day_of_month' | 20

É importante observar que o tipo de cobrança 'day_of_month' só pode ser usado em planos mensais.

## Path parameters

- `id` integer, required

## Response `200`

Ok. Plano encontrado.

- 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.
- `404` — Plano 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)
