---
title: "Create Plan"
method: POST
path: "/v1/plan"
tags: ["Plans"]
---

# Create Plan

`POST /v1/plan`

The **Create Plan** endpoint allows you to create a new subscription plan. It requires a payload containing the plan's details. Use this endpoint to create flexible and tailored subscription options that align with your business needs.

> 📘 Note
> 
> When creating a plan, you automatically create a paylink associated with it. This allows you to offer the plan for immediate purchase.

## Request body

- PlanCreatePlanRequest
  - `amount` string — The amount associated with the plan, specified as a string. This parameter represents the cost or price of the plan.
  - `currency` string — The currency in which the plan amount is expressed.
  - `description` string — A brief description or summary of the plan. This parameter provides additional information about the purpose or features of the plan.
  - `interval` 'Week' | 'Month' | 'Year' — The recurring interval for the payment link: - **Week** - **Month** - **Year**
  - `intervalCount` integer — The number of intervals between each billing cycle. This parameter determines how often the plan is billed within the specified interval.
  - `metadata` object — An object containing additional metadata associated with the plan.
  - `name` string — A name or label associated with the plan. This parameter represents a identifier or title for the plan.
  - `reference` string — A reference identifier associated with the plan. This parameter allows for linking the plan to external identifiers.
  - `trial_period` string — Specifies the trial period duration for the plan, if applicable. This parameter represents the duration of any trial period associated with the plan.

## Response `200`

OK

- InternalResponsePlanPlanResponse
  - `data` PlanPlanResponse
    - `id` string — The unique identifier of the plan.
    - `org_id` string — The identifier of the organization associated with the plan.
    - `source` 1 | 2 | 3 | 4 — The source of this billing information. Can be one of the following: - 1 = Lago - 2 = Boomfi - 3 = Stripe - 4 = Chargebee
    - `name` '1' | '2' | '3' — The type of the plan: - **1** = Unknown - **2** = Onetime - **3** = Recurring
    - `type` string — The type of the plan.
    - `billing_scheme` 1 | 2 | 3 | 4 — The billing scheme determines how the charges are calculated for the subscription. - 1 = Flatfee - 2 = Perunit - 3 = Graduated - 4 = Volume
    - `price` string — The price of the plan.
    - `currency` string — The currency of the plan.
    - `available_quantity` integer — The available quantity of the plan.
    - `trial_period` string — The trial period of the plan.
    - `recurring_interval` 'Week' | 'Month' | 'Year' — The recurring interval for the payment link: - **Week** - **Month** - **Year**
    - `recurring_interval_count` integer — The count of recurring intervals for the plan.
    - `recurring_usage_type` 1 | 2 | 3
    - `reference` string — The reference of the plan.
    - `enabled` boolean — Indicates whether the plan is enabled or not.
    - `v1` string — Additional information about the plan.
    - `created_by` string — The identifier of the user who created the plan.
    - `created_at` string, date-time — The timestamp when the plan was created.
    - `updated_at` string, date-time — The timestamp when the plan was last updated.
    - `deleted_at` string, date-time — The timestamp when the plan was deleted, if applicable.
    - `metadata` object — Additional metadata associated with the plan.
    - `properties` object — Additional properties of the plan.
  - `error` boolean

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

---

[API](https://skmtc.net/boomfi/apis/boomfi-merchants-api.md) · [All operations](https://skmtc.net/boomfi/apis/boomfi-merchants-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/boomfi/boomfi-merchants-api/revisions/ace3c3df05fe/schema)
