---
title: "Criar plano"
method: POST
path: "/plans"
---

# Criar plano

`POST /plans`

## Headers

- `Authorization` string, required
- `x-idempotency-key` string

## Request body

- object
  - `reference_id` string — Identificador único atribuído para o plano. Utilizado internamente pelo vendedor em seu sistema (Max 65 caracteres).
  - `name` string — Nome do plano na sua aplicação (Max 65 caracteres). ⚠️ **Obrigatório** ⚠️
  - `description` string — Descrição do plano na sua aplicação (Max 250 caracteres).
  - `amount` object — Objeto contendo as informações do valor a ser cobrado. ⚠️ **Obrigatório** ⚠️
    - `value` integer — Valor do plano a ser cobrado em centavos. Apenas números inteiros positivos (Max 9 caracteres). ⚠️ **Obrigatório** ⚠️ <br> <small>Exemplo: R$ 1.500,99 = 150099</small>
    - `currency` 'BRL' — Código de moeda ISO de três letras, em maiúsculas. No momento, apenas o Real brasileiro (BRL) é suportado. ⚠️ **Obrigatório** ⚠️
  - `setup_fee` integer — Taxa de contratação a ser cobrada na assinatura especificada em centavos de Real. Se não desejar cobrar uma taxa de contratação para o plano, o campo `setup_fee` deve ser deixado em branco ou não enviado como atributo (Max 9 caracteres).
  - `interval` object — Objeto contendo os detalhes de intervalo de tempo das cobranças.
    - `unit` 'DAY' | 'MONTH' | 'YEAR' — A unidade de medida do intervalo de cobrança. <br><small>Opções: `DAY`, `MONTH`, `YEAR`.</small>
    - `length` integer — A duração do intervalo de cobrança. Valor padrão (default) é 1.
  - `billing_cycles` integer — Quantidade de ciclos (faturas) que a assinatura terá até expirar. Não informar este campo para que não haja expiração.
  - `trial` object — Objeto contendo as informações do período de teste/trial.
    - `days` integer — Número de dias de teste/trial do plano.
    - `enabled` boolean — Determina se o teste/trial está ou não habilitado.<br> <small>Default = <code>FALSE</code></small>.
    - `hold_setup_fee` boolean — Determina se o `setup_fee` será cobrado antes ou após o período de trial. Opções: `TRUE` para cobrar após o período de teste, e `FALSE` para cobrar antes.
  - `limit_subscriptions` integer — Quantidade máxima de assinaturas do plano. Para não haver limite, deixar esse campo em branco.
  - `payment_method` string[] — Formas de pagamentos aceitas no plano. Caso o atributo não seja informado, a forma de pagamento default é `CREDIT_CARD`. <br> <small>Exemplos: `BOLETO`, `CREDIT_CARD`</small>.
  - `editable` boolean — Sinaliza se o plano criado poderá ser alterado após a criação. Por padrão, esse parâmetro é considerado `true`.

## Response `200`

200

- object

## Other responses

- `400` — 400

---

[API](https://skmtc.net/pagbank/apis/nova-plataforma-sandbox.md) · [All operations](https://skmtc.net/pagbank/apis/nova-plataforma-sandbox/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pagbank/nova-plataforma-sandbox/revisions/05e64f3006ab/schema)
