# 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/).

## Retrieve plans

 - [GET /plans](https://www.rebilly.com/docs/dev-docs/api/plans/getplancollection.md): Retrieves a list of plans.

## Create a plan

 - [POST /plans](https://www.rebilly.com/docs/dev-docs/api/plans/postplan.md): Creates a plan.

## Retrieve a plan

 - [GET /plans/{id}](https://www.rebilly.com/docs/dev-docs/api/plans/getplan.md): Retrieves a plan with a specified ID.

## Upsert a plan

 - [PUT /plans/{id}](https://www.rebilly.com/docs/dev-docs/api/plans/putplan.md): Creates or updates (upserts) a plan with a specified ID.

## Delete a plan

 - [DELETE /plans/{id}](https://www.rebilly.com/docs/dev-docs/api/plans/deleteplan.md): Deletes a plan with a specified ID.

