---
title: "Changes to Preview subscription plan change"
method: POST
path: "/subscriptions/{id}/change/preview"
---

# Changes to Preview subscription plan change

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

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 7 of 149 revisions.

- **2026-07-15** `f8ecf435d25d` — 3 warning
- **2026-07-09** `646d6658479b` — 2 info
- **2026-07-09** `7d57386313c7` — 5 breaking, 3 warning, 6 info
- **2026-07-09** `4b1a811c4179` — 17 breaking, 3 info
- **2026-05-18** `8ec2edea6b20` — 6 warning
- **2026-04-10** `5856ed2fbdd6` — 1 breaking, 1 warning, 2 info
- **2026-04-06** `95af41a12111` — 6 warning, 12 info

## Changes

- **2026-07-15** `f8ecf435d25d` — 3 warning
  - added the new `not_implemented` enum value to the `code` response property for the response status `400`
  - added the new `not_implemented` enum value to the `code` response property for the response status `404`
  - added the new `not_implemented` enum value to the `code` response property for the response status `500`
- **2026-07-09** `646d6658479b` — 2 info
  - the `billing_period_count` request property default value `1` was removed
  - the `billing_period_count` response's property default value `1` was removed for the status `200`
- **2026-07-09** `7d57386313c7` — 5 breaking, 3 warning, 6 info
  - request property `change_at` was restricted to a list of enum values
  - request property `proration_behavior` was restricted to a list of enum values
  - the `change_at` request property type changed from no type to `string`
  - the `proration_behavior` request property type changed from no type to `string`
  - the `change_type` response's property type changed from no type to `string` for status `200`
  - added the new `downgrade` enum value to the `change_type` response property for the response status `200`
  - added the new `lateral` enum value to the `change_type` response property for the response status `200`
  - added the new `upgrade` enum value to the `change_type` response property for the response status `200`
  - the `billing_period_count` request property default value `1` was added
  - added the new `create_prorations` enum value to the request property `proration_behavior`
  - added the new `end_of_period` enum value to the request property `change_at`
  - added the new `immediate` enum value to the request property `change_at`
  - added the new `none` enum value to the request property `proration_behavior`
  - the `billing_period_count` response's property default value `1` was added for the status `200`
- **2026-07-09** `4b1a811c4179` — 17 breaking, 3 info
  - removed the enum value `create_prorations` of the request property `proration_behavior`
  - removed the enum value `end_of_period` of the request property `change_at`
  - removed the enum value `immediate` of the request property `change_at`
  - removed the enum value `none` of the request property `proration_behavior`
  - the `change_at` request property type changed from `string` to no type
  - the `proration_behavior` request property type changed from `string` to no type
  - the `change_type` response's property type changed from `string` to no type for status `200`
  - the `effective_date` response's property format changed from `date-time` to no format for status `200`
  - the `new_billing_cycle/billing_anchor` response's property format changed from `date-time` to no format for status `200`
  - the `new_billing_cycle/period_end` response's property format changed from `date-time` to no format for status `200`
  - the `new_billing_cycle/period_start` response's property format changed from `date-time` to no format for status `200`
  - the `next_invoice_preview/due_date` response's property format changed from `date-time` to no format for status `200`
  - the `next_invoice_preview/line_items/items/period_end` response's property format changed from `date-time` to no format for status `200`
  - the `next_invoice_preview/line_items/items/period_start` response's property format changed from `date-time` to no format for status `200`
  - the `proration_details/current_period_end` response's property format changed from `date-time` to no format for status `200`
  - the `proration_details/current_period_start` response's property format changed from `date-time` to no format for status `200`
  - the `proration_details/proration_date` response's property format changed from `date-time` to no format for status `200`
  - removed the `downgrade` enum value from the `change_type` response property for the response status `200`
  - removed the `lateral` enum value from the `change_type` response property for the response status `200`
  - removed the `upgrade` enum value from the `change_type` response property for the response status `200`
- **2026-05-18** `8ec2edea6b20` — 6 warning
  - removed the optional property `details` from the response with the `400` status
  - removed the optional property `details` from the response with the `404` status
  - removed the optional property `details` from the response with the `500` status
  - added the new `too_many_requests` enum value to the `code` response property for the response status `400`
  - added the new `too_many_requests` enum value to the `code` response property for the response status `404`
  - added the new `too_many_requests` enum value to the `code` response property for the response status `500`
- **2026-04-10** `5856ed2fbdd6` — 1 breaking, 1 warning, 2 info
  - removed the enum value `ONETIME` of the request property `billing_cadence`
  - added the new `ONETIME` enum value to the `new_billing_cycle/billing_period` response property for the response status `200`
  - added the new `ONETIME` enum value to the request property `billing_period`
  - removed the `ONETIME` enum value from the `new_billing_cycle/billing_cadence` response property for the response status `200`
- **2026-04-06** `95af41a12111` — 6 warning, 12 info
  - removed the optional property `error` from the response with the `400` status
  - removed the optional property `error` from the response with the `404` status
  - removed the optional property `error` from the response with the `500` status
  - removed the optional property `success` from the response with the `400` status
  - removed the optional property `success` from the response with the `404` status
  - removed the optional property `success` from the response with the `500` status
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `404` status
  - added the optional property `code` to the response with the `500` status
  - added the optional property `details` to the response with the `400` status
  - added the optional property `details` to the response with the `404` status
  - added the optional property `details` to the response with the `500` status
  - added the optional property `http_status_code` to the response with the `400` status
  - added the optional property `http_status_code` to the response with the `404` status
  - added the optional property `http_status_code` to the response with the `500` status
  - added the optional property `message` to the response with the `400` status
  - added the optional property `message` to the response with the `404` status
  - added the optional property `message` to the response with the `500` status

---

[Operation](https://skmtc.dev/flexprice/apis/flexprice-api/docs/subscriptions/:id/change/preview/post.md) · [API](https://skmtc.dev/flexprice/apis/flexprice-api.md) · [Page](https://skmtc.dev/flexprice/apis/flexprice-api/changes/subscriptions/:id/change/preview/post)
