Skip to main content
POST
/
subscriptions
/
{subscription_id}
/
manage
Manage a subscription.
curl --request POST \
  --url https://sandbox.cashfree.com/pg/subscriptions/{subscription_id}/manage \
  --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 '{
  "subscription_id": "Demo_Subscription",
  "action": "CHANGE_PLAN",
  "action_details": {
    "plan_id": "new-plan-1"
  }
}'
{
  "authorisation_details": {
    "authorization_amount": 1,
    "authorization_amount_refund": false,
    "authorization_reference": "",
    "authorization_time": "2025-06-01T23:47:52+05:30",
    "authorization_status": "INITIALIZED",
    "payment_id": "97877",
    "payment_group": "enach",
    "payment_method": {
      "enach": {
        "channel": "link",
        "auth_mode": "NetBanking",
        "account_type": "SAVINGS",
        "account_number": "123456789012",
        "account_ifsc": "SBIN0000123",
        "account_holder_name": "John Doe",
        "account_bank_code": "SBIN"
      }
    }
  },
  "cf_subscription_id": "4",
  "customer_details": {
    "customer_name": "John Doe",
    "customer_email": "test@gmail.com",
    "customer_phone": "9900755700",
    "customer_bank_account_holder_name": "",
    "customer_bank_account_number": "",
    "customer_bank_ifsc": "",
    "customer_bank_code": "",
    "customer_bank_account_type": ""
  },
  "plan_details": {
    "plan_id": "od-20k-plan",
    "plan_name": "On demand plan for 20000 max amount",
    "plan_type": "ON_DEMAND",
    "plan_max_cycles": 0,
    "plan_recurring_amount": 0,
    "plan_max_amount": 20000,
    "plan_interval_type": "",
    "plan_intervals": 0,
    "plan_currency": "INR",
    "plan_note": "",
    "plan_status": ""
  },
  "subscription_expiry_time": "2100-01-01T05:29:59+05:30",
  "subscription_first_charge_time": "",
  "subscription_id": "SUB0028",
  "subscription_meta": {
    "return_url": ""
  },
  "subscription_note": "",
  "subscription_session_id": "subs_token_tc9JCN4MzUIJ",
  "subscription_payment_splits": null,
  "subscription_status": "INITIALIZED",
  "subscription_tags": null
}

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 key 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<UUID>

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.

Path Parameters

subscription_id
string
required

Provide the SubscriptionId using which the subscription was created.

Body

application/json

Request body to manage a subscription.

subscription_id
string
required

The unique ID which was used to create subscription.

action
string
required

Action to be performed on the subscription. Possible values - CANCEL, PAUSE, ACTIVATE, CHANGE_PLAN.

action_details
object

Details of the action to be performed.

Response

Subscription Updated

The response returned for Get, Create or Manage Subscription APIs.

authorisation_details
object

Details of the authorization done for the subscription. Returned in Get subscription and payments.

Example:
{
"authorization_amount": 1,
"authorization_amount_refund": false,
"authorization_reference": "",
"authorization_time": "2025-06-01T23:47:52+05:30",
"authorization_status": "INITIALIZED",
"payment_id": "97877",
"payment_group": "upi",
"payment_method": {
"upi": {
"channel": "collect",
"upi_id": "test@upi",
"upi_instrument": "upiInstrument",
"upi_instrument_number": "1234567890",
"upi_payer_account_number": "039861903074",
"upi_payer_ifsc": "SBIN0001234"
}
}
}
cf_subscription_id
string

Cashfree subscription reference number

customer_details
object

Subscription customer details.

Example:
{
"customer_name": "Test Cust",
"customer_email": "test@gmail.com",
"customer_phone": "9900755700",
"customer_bank_account_holder_name": "",
"customer_bank_account_number": "",
"customer_bank_ifsc": "",
"customer_bank_code": "",
"customer_bank_account_type": ""
}
plan_details
object

The response returned for Get, Create and Manage Plan APIs

Example:
{
"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"
}
subscription_expiry_time
string<ISO8601>

Time at which the subscription will expire. We store timestamps in IST.

Example:

"2025-06-01T10:20:12+05:30"

subscription_first_charge_time
string<ISO8601>

Time at which the first charge will be made for the subscription. Applicable only for PERIODIC plans. Cashfree stores timestamps in IST.

Example:

"2025-06-01T10:20:12+05:30"

subscription_id
string

A unique ID passed by merchant for identifying the subscription.

subscription_meta
object

Subscription metadata.

subscription_note
string

Note for the subscription.

subscription_session_id
string

Subscription Session Id.

subscription_payment_splits
SubscriptionPaymentSplitItem Ā· object[]

Payment splits for the subscription.

subscription_status
string

Status of the subscription. For more details, see Subscription Lifecycle.

subscription_tags
object

Tags for the subscription.