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

# Criar plano

`POST /plans`

## Request

- Base URL: `https://sandbox.api.assinaturas.pagseguro.com`
- URL: `https://sandbox.api.assinaturas.pagseguro.com/plans`
- Auth: none required

## 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.dev/pagbank/apis/assinaturas-sandbox.md) - [All operations](https://skmtc.dev/pagbank/apis/assinaturas-sandbox/llms.txt) - [OpenAPI document](https://skmtc.dev/pagbank/apis/assinaturas-sandbox/revisions/0bf75a563a6b?raw)
