# Subscriptions

Subscriptions allow merchants to offer regular purchases of a product or group of products, resulting in predictable, recurring revenue and increasing both acquisition and retention. A flexible subscription model provides an affordable way for consumers to access what they want when they want it and a direct-to-consumer experience that attracts, retains, and benefits customers long-term.

Commerce Layer's [subscriptions](https://commercelayer.io/docs/data-model/subscriptions-and-order-copies) are defined by market, thus market-specific subscription strategies. Commerce Layer lets you handle subscription generation both [automatically](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/order_subscriptions#automatic-order-subscription-generation) (the recommended and most common usage) and [manually](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/order_subscriptions#manual-order-subscription-generation).

<details>

<summary>Data model</summary>

Check the related [ER diagram](https://commercelayer.io/docs/data-model/subscriptions-and-order-copies) and explore the flowchart that illustrates how the order subscription resource relates to the other API entities.

</details>

This guide will walk you through the steps you need to follow to correctly setup the available subscription frequencies and strategies for your markets and trigger **automatic** subscription generation starting from a source order:

1. Create a [subscription model](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/subscription_models) and associate it with a market.
2. Create a source order containing at least one line item that has a [frequency](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/line_items#choosing-line-items-that-generate-subscriptions) and place it.
3. Update the source order by sending a specific [trigger attribute](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/orders#automatic-subscriptions-generation) to start the order subscription generation.
4. Eventually, edit the automatically generated subscriptions to change the next subscription runs.&#x20;

{% hint style="info" %}
Commerce Layer's subscription management can be offered to [registered customers](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/roles-and-permissions#password) only. All the API calls in this guide are supposed to be authenticated with a **customer token** obtained via the [password flow](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/authentication/password) (unless where specified differently). See the [Authentication](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/authentication) and [Applications](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/api-credentials) sections of our documentation if you need more information on how to get an access token for your client or about the different types of credentials you can get.
{% endhint %}
