Pine LabsDOCS

API Playground

Test Pine Labs API endpoints with real requests. All endpoints are loaded dynamically from the OpenAPI specification.

Create a Subscription Plan

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.

POSThttps://pluraluat.v2.pinepg.in/ps/api/v1/public/plans
Required
Request Body (editable JSON)
Request Body Schemarequired
FieldDetails
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
objectrequired2 nested fields

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

Constraints
Minimum value: 100Maximum value: 100000000
currency
stringrequired

Three-letter ISO 4217 currency code.

Constraints
Default value: INR
max_limit_amount
objectrequired2 nested fields

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

Constraints
Minimum value: 100Maximum value: 100000000
currency
stringrequired

Three-letter ISO 4217 currency code.

Constraints
Default value: INR
initial_debit_amount
object2 nested fields

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

Constraints
Minimum value: 100Maximum value: 100000000
currency
stringrequired

Three-letter ISO 4217 currency code.

Constraints
Default value: INR
trial_period_in_days
integer

Duration of the trial period in days.

start_date
stringdate-time

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

end_date
stringrequireddate-time

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.

Constraints
Maximum properties: 10
Additional properties: string · Maximum length: 256 characters
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.

Constraints
Minimum length: 1 characterMaximum length: 50 characters
auto_debit_ot
string

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