# The SubscriptionPlanChange object

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `status` | string | yes | One of: `scheduled`, `applied`, `cancelled`. |
| `timing` | string | yes | One of: `immediate`, `next_payment`. |
| `direction` | string | yes | One of: `upgrade`, `downgrade`, `interval`. |
| `from` | string | yes |  |
| `to` | string | yes |  |
| `effective_on` | string | yes | Today for a switch right away, otherwise the date of the next payment |
| `currency` | string | no |  |
| `old_amount` | string | no |  |
| `new_amount` | string | no |  |
| `credit` | string | no | Credit for the unused part of the running period (switch right away) |
| `settlement` | string | no | Amount charged for the switch (switch right away) |
| `credit_left` | string | no | Credit that stays on the subscription for the next payments |

```json
{
    "status": "applied",
    "timing": "immediate",
    "direction": "upgrade",
    "from": "Klein",
    "to": "Groot",
    "effective_on": "2026-11-20",
    "currency": "EUR",
    "old_amount": "10.00",
    "new_amount": "20.00",
    "credit": "6.67",
    "settlement": "13.33",
    "credit_left": "0.00"
}
```
