# Calcular preview de troca de plano

URL: https://staging.pagpolar.com/docs/referencia/assinaturas/preview-subscription-plan-change

> Calcula o crédito ou cobrança proporcional de uma troca de plano sem efetivá-la. Não tem efeito colateral.

`POST /subscriptions/{id}/plan-change/preview`

## Autenticação

- Token Bearer no header `Authorization` (esquema `BearerAuth`). Token de acesso devolvido por POST /auth/token. Envie como "Authorization: Bearer <token>". Vale 24 horas.

## Parâmetros de caminho

| Parâmetro | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| `id` | texto (uuid) | sim | — |

## Corpo da requisição

Content-type: `application/json`.

| Campo | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| `new_product_price_id` | texto (uuid) | sim | — |

### Exemplo do corpo

Preview de troca:

```json
{
  "new_product_price_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e"
}
```

## Respostas

### 200 — Preview calculado

| Campo | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| `data` | [Prévia da troca de plano](/docs/referencia/entidades/previa-da-troca-de-plano) | não | — |

## Erros

| Status | Descrição |
| --- | --- |
| `400` | Plano não pertence ao mesmo produto ou não é selecionável |
| `401` | Token ausente, inválido ou expirado, ou credencial revogada ou expirada. Chame POST /auth/token para obter um token novo. |
| `403` | IP não autorizado |
| `404` | Assinatura ou plano não encontrado |
| `429` | Limite de requisições excedido |

Lista completa de códigos e como tratá-los: [Erros](/docs/guias/fundamentos/erros).
