# Plans

Use pricing plans to describe how the customer must pay for [products](https://www.rebilly.com/docs/dev-docs/api/products/).

Rebilly provides the following plan types:

- Trial only: Use this plan to create and offer a free or discounted trial period for your product.
  For example, a free 2 week trial of an internet service.
  After the trial, the customer can choose to sign up for a paid subscription, or stop using the service.
- Recurring: Use this plan to create and offer a subscription for your product.
  For example, a monthly subscription to an internet service that is charged at 20 USD per month.
- One time sale: Use this plan to create and offer a one-off sale for your products.
  For example, a one time purchase of two bags of coffee.

For information on the plans resource, see [Plans](https://www.rebilly.com/docs/dev-docs/concepts/#plans).

For information on plan pricing, see [Pricing formulas](https://www.rebilly.com/docs/settings/pricing-formulas/).

- [GET /plans](/docs/dev-docs/api/plans/getplancollection.md): Retrieves a list of plans. To retrieve plans by type, use `filter=type:{type}`, where `{type}` is `subscription`, `one-time-sale`, or `trial-only`. To retrieve plans of several types, separate the typ
- [POST /plans](/docs/dev-docs/api/plans/postplan.md): Creates a plan.
- [GET /plans/{id}](/docs/dev-docs/api/plans/getplan.md): Retrieves a plan with a specified ID.
- [PUT /plans/{id}](/docs/dev-docs/api/plans/putplan.md): Creates or updates (upserts) a plan with a specified ID.
- [DELETE /plans/{id}](/docs/dev-docs/api/plans/deleteplan.md): Deletes a plan with a specified ID.
