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

# Alterar plano

`PUT /plans/{plan_id}`

## Request

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

## 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.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)
