---
title: "List all subscription plan changes"
method: GET
path: "/subscriptions/{subscription_id}/history"
tags: ["Subscriptions"]
---

# List all subscription plan changes

`GET /subscriptions/{subscription_id}/history`

Returns an array of subscription plan change history entries, detailing what changed, when the change occurred, and how it was modified.

## Path parameters

- `subscription_id` string, required

## Query parameters

- `scope` 'base_plan' | 'add_on'
- `order` 'increasing' | 'decreasing'

## Response `200`

OK

- SubscriptionHistoryResponse — Response schema for subscription changes.
  - `currency` string — The currency in which the transactions are made.
  - `timezone` string — The timezone associated with the changes.
  - `changes` object[] — List of changes associated with the subscription.
    - `insertTimestamp` integer — The timestamp when the change was inserted.
    - `subscriptionId` string — Unique identifier for the subscription.
    - `siteId` string — Unique identifier for the site.
    - `changeId` string — Unique identifier for the change.
    - `prorated` boolean — Indicates if the change is prorated.
    - `orderId` string — Unique identifier for the order associated with the change.
    - `orderRef` string, nullable — Reference for the order associated with the change.
    - `itemType` string — Type of item associated with the change.
    - `itemId` string — Unique identifier for the item.
    - `itemProductPath` string — Path of the product associated with the item.
    - `itemProductDisplay` string — Display name of the product associated with the item.
    - `itemProductSku` string — SKU of the product associated with the item.
    - `changeType` string — Type of change made to the subscription.
    - `changedFrom` string — Previous state or quantity of the item.
    - `changedFromDisplay` string — Display representation of the previous state or quantity.
    - `changedTo` string — Updated state or quantity of the item.
    - `changedToDisplay` string — Display representation of the updated state or quantity.

## Other responses

- `400` — Bad Request
- `401` — Authentication credentials are missing or invalid.
- `429` — Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header.
- `500` — Internal server error.

---

[API](https://skmtc.net/fastspring/apis/fastspring-api-accounts.md) · [All operations](https://skmtc.net/fastspring/apis/fastspring-api-accounts/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fastspring/fastspring-api-accounts/versions/ae2f0b97db3e/schema)
