POST
/
plans
curl --request POST \
  --url https://sandbox.cashfree.com/pg/plans \
  --header 'Content-Type: application/json' \
  --header 'x-api-version: <x-api-version>' \
  --header 'x-client-id: <api-key>' \
  --header 'x-client-secret: <api-key>' \
  --data '{
  "plan_id": "plan_12345",
  "plan_name": "Plan 12345",
  "plan_type": "PERIODIC",
  "plan_currency": "INR",
  "plan_recurring_amount": 10,
  "plan_max_amount": 100,
  "plan_max_cycles": 10,
  "plan_intervals": 2,
  "plan_interval_type": "WEEK",
  "plan_note": "Test Plan"
}'
{
  "plan_currency": "INR",
  "plan_id": "144436-03471-JD_TEST",
  "plan_interval_type": "WEEK",
  "plan_intervals": 1,
  "plan_max_amount": 1,
  "plan_max_cycles": 4,
  "plan_name": "abscede",
  "plan_note": "lsdkdn",
  "plan_recurring_amount": 1,
  "plan_status": "ACTIVE",
  "plan_type": "PERIODIC"
}

Authorizations

x-client-id
string
header
required

Client app ID. You can find your app id in the merchant dashboard.

x-client-secret
string
header
required

Client secret key. You can find your secret in the merchant dashboard.

Headers

x-api-version
string
default:2025-01-01
required

API version to be used. Format is in YYYY-MM-DD.

x-request-id
string

Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.

x-idempotency-key
string

An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.

Body

application/json

Request body to create a plan.

Response

200
application/json

Plan Created

The response returned for Get, Create and Manage Plan APIs