Update a Plan
Update a plan’s name, description, or availability.
Endpoint
PUT https://backendapi.sayswitchgroup.com/api/v1/plan/{id_or_code}{id_or_code} accepts either the numeric ID or plan_code.
Request
curl --request PUT \
--url https://backendapi.sayswitchgroup.com/api/v1/plan/PLN_4m8q1v2x7b9n3k6p5r0s \
--header "Authorization: Bearer YOUR_SECRET_KEY" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"name": "Email Monthly Plus",
"description": "Monthly access to the email service and priority support",
"status": "active"
}'Mutable Fields
| Field | Type | Description |
|---|---|---|
name | string | Plan name, up to 120 characters. |
description | string or null | Plan description, up to 1,000 characters. Send null to remove it. |
status | string | active or inactive. Inactive plans cannot be used to create new subscriptions. |
amount, currency, interval, and invoice_limit cannot be changed in v1. Create a new plan when those billing terms need to change.
Response
{
"status": true,
"message": "Plan updated.",
"data": {
"id": 42,
"business_id": 169,
"plan_code": "PLN_4m8q1v2x7b9n3k6p5r0s",
"name": "Email Monthly Plus",
"description": "Monthly access to the email service and priority support",
"amount": "15000.00",
"currency": "NGN",
"interval": "monthly",
"invoice_limit": 12,
"status": "active",
"domain": "test",
"created_at": "2026-09-25T10:30:00.000000Z",
"updated_at": "2026-09-25T11:15:00.000000Z"
}
}Unknown fields are ignored. Send only the supported fields listed above.