# Versions

Versions are associated with [almost all the resources](#non-versionable-resources) and are created upon every update or cancellation of the related resource to help you track the history of each resource's data changes. Resource creation is not tracked by the versions API.

{% hint style="info" %}
Versions are no longer stored as of August 2025. Older versions are still fetchable, but please note that this endpoint will be deprecated soon. Start using [event stores](https://docs.commercelayer.io/core-api-reference/event_stores) to get the same information you got from versions, and more. If you're an enterprise customer, you can also connect to our [event stream hub](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/event-stream-hub) and consume updates as they happen (no polling required).
{% endhint %}

Each version object contains information about the event that generated it (one of `update` or `destroy`), the type of resource that has been modified/deleted, the request involved, the application, worker or user that triggered the change, and more. You can find the change history inside the `changes` object which shows, for each modified attribute, the values before and after the change.

{% hint style="info" %}
Changes to the [order](https://docs.commercelayer.io/core-api-reference/orders) resource are tracked only if the order status is different from `draft` or `pending`. The first version is created starting from the change of status that moves the order to `placed` (status change included).
{% endhint %}

### Non-versionable resources

At the moment, these are the resources that doesn't support versioning:

* [Application](https://docs.commercelayer.io/core-api-reference/application)
* [Attachments](https://docs.commercelayer.io/core-api-reference/attachments)
* [Customers](https://docs.commercelayer.io/core-api-reference/customers)
* [Customer password resets](https://docs.commercelayer.io/core-api-reference/customer_password_resets)
* [Events](https://docs.commercelayer.io/core-api-reference/events)
* [Event callbacks](https://docs.commercelayer.io/core-api-reference/event_callbacks)
* [Imports](https://docs.commercelayer.io/core-api-reference/imports)
* [Line items](https://docs.commercelayer.io/core-api-reference/line_items)
* [Line item options](https://docs.commercelayer.io/core-api-reference/line_item_options)
* [Links](https://docs.commercelayer.io/core-api-reference/links)
* [Order copies](https://docs.commercelayer.io/core-api-reference/order_copies)
* [Order factories](https://docs.commercelayer.io/core-api-reference/order_factories)
* [Order subscription items](https://docs.commercelayer.io/core-api-reference/order_subscription_items)
* [Organization](https://docs.commercelayer.io/core-api-reference/organization)
* [Recurring order copies](https://docs.commercelayer.io/core-api-reference/recurring_order_copies)
* [Return line items](https://docs.commercelayer.io/core-api-reference/return_line_items)
* [Stock reservations](https://docs.commercelayer.io/core-api-reference/stock_reservations)
* [Subscription models](https://docs.commercelayer.io/core-api-reference/subscription_models)
* [Tags](https://docs.commercelayer.io/core-api-reference/tags)
* All [pickups](https://docs.commercelayer.io/core-api-reference/pickups) types:
  * [EasyPost pickups](https://docs.commercelayer.io/core-api-reference/easypost_pickups)
* All [geocoder](https://docs.commercelayer.io/core-api-reference/geocoders) types:
  * [Bing geocoders](https://docs.commercelayer.io/core-api-reference/bing_geocoders)
  * [Google geocoders](https://docs.commercelayer.io/core-api-reference/google_geocoders)

### Version history storage

Changes triggered by direct API calls on any resource are stored for **1 year**.

{% hint style="warning" %}
Changes made via [imports](https://docs.commercelayer.io/core-api-reference/imports) to other resources (e.g. updating prices, SKUs, stock items using imports, etc.) are not versioned at the moment. They are included in the recently released [event stream](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/event-stream-hub) (enterprise only). Non-enterprise customers can track those changes by [fetching the event stores of each single resource](https://docs.commercelayer.io/core-api-reference/event_stores#fetching-the-event-stores-of-a-resource).
{% endhint %}

{% hint style="info" %}
This is an **immutable API**, meaning that create, update, and delete operations are not allowed on this endpoint. You can only fetch a list of versions or a single version object.
{% endhint %}
