---
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}`

## Request

- Base URL: `//app.vindi.com.br/api` (relative, and the document’s source URL is not known)
- URL: `//app.vindi.com.br/api/v1/plans/{id}`
- Auth: HTTP basic

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.dev/vindi/apis/api-vindi.md) - [All operations](https://skmtc.dev/vindi/apis/api-vindi/llms.txt) - [OpenAPI document](https://skmtc.dev/vindi/apis/api-vindi/revisions/3e857e1cdd03?raw)
