---
title: "Alterar plano"
method: PUT
path: "/plans/{plan_id}"
---

# Alterar plano

`PUT /plans/{plan_id}`

## Path parameters

- `plan_id` string, required

## Headers

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

## Request body

- object
  - `reference_id` string — Identificador único do plano na sua aplicação (Min 2; Max 65 caracteres). ⚠️**Obrigatório**⚠️
  - `status` 'ACTIVE' | 'INACTIVE' — Define se o plano está ativo ou inativo.
  - `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). ⚠️**Obrigatório**⚠️
  - `amount` object — Objeto contendo as informações do valor a ser cobrado.
    - `value` integer — Valor do plano a ser cobrado em centavos. Apenas números inteiros positivos (Min 2; Max 9 dígitos). <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.
  - `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 (MAX 9 caracteres).
  - `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.
    - `enable` boolean — Determina se o teste/trial está ou não habilitado.<br> <small>Opções: <code>FALSE</code>, <code>TRUE</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_subscription` 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>.

## Response `200`

200

- object
  - `id` string
  - `reference_id` string
  - `status` string
  - `name` string
  - `description` string
  - `amount` object
    - `value` integer
    - `currency` string
  - `setup_fee` integer
  - `limit_subscriptions` integer
  - `interval` object
    - `length` integer
    - `unit` string
  - `billing_cycles` integer
  - `trial` object
    - `days` integer
    - `enabled` boolean
    - `hold_setup_fee` boolean
  - `payment_method` string[]
  - `created_at` string
  - `updated_at` string
  - `links` object[]
    - `rel` string
    - `href` string
    - `media` string
    - `type` string

## Other responses

- `400` — 400
- `404` — 404

---

[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/versions/05e64f3006ab/schema)
