Change subscription
Change the plan or quantity of a subscription now, on the next bill date or at renewal.
PATCH https://cotlet.dev/api/v1/recurly/subscriptions/{subscription_id}
Changes the plan or the quantity of one subscription. With timeframe now the change applies at once, an invoice is created and, with automatic collection, a payment is attempted right away. With bill_date or renewal it applies later with no proration. Only one pending change is kept, and a new one replaces it. Existing add-ons are removed unless you list them in add_ons. Changes bill or credit the customer. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| subscription_id string required | string | Subscription UUID from list_subscriptions. |
| plan_code string | string | New plan code. Omit to keep the plan. |
| quantity integer | integer | New quantity. Omit to keep it. |
| timeframe enum | enum | now, bill_date or renewal. Default: now. |
| proration enum | enum | For immediate changes: prorated, full or none. Default: the site setting. |
| add_ons array | array | Add-on codes that should exist after the change. Add-ons you leave out are removed. |
Request
curl -X PATCH https://cotlet.dev/api/v1/recurly/subscriptions/subscription_8c41d2 \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("recurly", "change_subscription", {"subscription_id":"subscription_8c41d2"}) const result = await cotlet.call('recurly', 'change_subscription', {"subscription_id":"subscription_8c41d2"}); cotlet call recurly change_subscription --data '{"subscription_id":"subscription_8c41d2"}' Example response
{
"subscription_id": "44f83d0cbf86d2b8a5b3d3e6c3e8b16f",
"account_code": "bright-lab",
"plan_code": "starter",
"state": "active",
"timeframe": "renewal",
"effective_at": "2026-11-02T00:00:00Z",
"status": "pending"
}