Pine LabsDOCS

Create Plan

POST/ps/api/v1/public/plans

Creates a new subscription plan that serves as a reusable template defining the pricing structure, billing frequency, and payment terms. Plans must be created before subscriptions can be set up.

Requires Bearer token. Get token →

Request Body

NameTypeDescription
plan_name
stringrequired

Subscription plan name.

plan_description
string

Corresponding description for a plan.

frequency
stringrequired

Frequency of recurring transactions for this particular plan.

Allowed values:
DayWeekMonthYearBi-MonthlyQuarterlyHalf-YearlyASOTNot Applicable
amount
objectrequired

This is the recurring mandate amount, that would be charged for each frequency. For instance 200 every month. This field is not needed if the mandate frequency is AS

value
integerrequired

Amount in the smallest currency unit (paisa for INR). Minimum ₹1 (100), maximum ₹10 lakh (100000000).

currency
stringrequired

Three-letter ISO 4217 currency code.

max_limit_amount
objectrequired

This is maximum amount of mandate for which a subscription is created for. There could be instances where maximum amount of mandate is created with a buffer. For instance with AS frequency you are taking mandate for SIP, first month SIP is 100, second month 200 etc. In such cases you will create a mandate with higher max_limit_amount

value
integerrequired

Amount in the smallest currency unit (paisa for INR). Minimum ₹1 (100), maximum ₹10 lakh (100000000).

currency
stringrequired

Three-letter ISO 4217 currency code.

initial_debit_amount
object

This is initial debit amount on top of your recurring mandate amount. This is an optional field. For instance you want to create monthly 200 rupee mandate, but want to charge 20 rupees one time registration fee initially. You will utilize this field in such cases

value
integerrequired

Amount in the smallest currency unit (paisa for INR). Minimum ₹1 (100), maximum ₹10 lakh (100000000).

currency
stringrequired

Three-letter ISO 4217 currency code.

trial_period_in_days
integer

Duration of the trial period in days.

start_date
string

The ISO 8601 UTC Timestamp when the subscription plan is active and available for use.

end_date
stringrequired

The ISO 8601 UTC Timestamp when the subscription plan expires.

merchant_metadata
object

Key-value pairs for additional information. Max 10 pairs, 256 chars each.

merchant_plan_reference
stringrequired

Idempotency Key. Unique identifier of the merchant plan reference. Duplicate requests with the same merchant_plan_reference will return the existing plan instead of creating a new one.

auto_debit_ot
string

Indicates whether auto-debit is enabled for one-time payments under the subscription plan.

Status Codes

201Plan created successfully.
400The request was malformed or missing required fields.
422Unprocessable Entity — validation failed or duplicate request.
500An unexpected error occurred on the server.
Request
curl --request POST \
  --url https://pluraluat.v2.pinepg.in/ps/api/v1/public/plans \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "plan_name": "Monthly Plan",
  "plan_description": "Diwali dhammaka plan intended to attract customers on diwali time",
  "frequency": "Month",
  "amount": {
    "value": 1000,
    "currency": "INR"
  },
  "max_limit_amount": {
    "value": 1000,
    "currency": "INR"
  },
  "initial_debit_amount": {
    "value": 1000,
    "currency": "INR"
  },
  "trial_period_in_days": 0,
  "start_date": "2022-02-01T17:32:28Z",
  "end_date": "2026-10-21T12:02:28Z",
  "merchant_metadata": {
    "key1": "DD"
  },
  "merchant_plan_reference": "1234567890",
  "auto_debit_ot": "false"
}'

Run this request

201 Created
{
  "plan_id": "v1-pla-250612061639-aa-666Zge",
  "status": "ACTIVE",
  "plan_name": "Monthly Plan 2025-06-12T06:16:37.364Z",
  "plan_description": "Diwali dhammaka plan intended to attract customers on diwali time",
  "frequency": "Month",
  "amount": {
    "value": 100,
    "currency": "INR"
  },
  "max_limit_amount": {
    "value": 210,
    "currency": "INR"
  },
  "trial_period_in_days": 0,
  "start_date": "2025-06-12T06:16:39.92710492Z",
  "end_date": "2026-10-21T12:02:28Z",
  "merchant_metadata": {
    "key1": "DD"
  },
  "merchant_plan_reference": "b41770ac-cd3a-48d3-9e93-7dc9246b4751",
  "created_at": "2025-06-12T06:16:39.933117Z",
  "modified_at": "2025-06-12T06:16:39.93313Z",
  "initial_debit_amount": {
    "value": 110,
    "currency": "INR"
  },
  "auto_debit_ot": "false"
}