Skip to main content
Updates an existing pricing plan. Only the fields you include in the request body will be changed — all other fields remain untouched.
To manage which features are assigned to a plan, use the Add Features to Plan and Remove Feature from Plan endpoints.

Endpoint

PUT /api/v1/projects/{slug}/plans/{planId}

Authentication

Authorization
string
required
Bearer token with your API key. Requires read_write permission.

Path Parameters

slug
string
required
The project’s URL-friendly slug identifier.
planId
number
required
The plan’s unique ID.

Body Parameters

All fields are optional. Only provided fields are updated.
name
string
Plan display name.
description
string
Description of the plan.
Mark or unmark the plan as “Popular”.
isVisible
boolean
Show or hide the plan on the pricing page.
basePrice
number
Monthly base price of the plan.
isFree
boolean
Whether this is a free plan.
freemiumDay
number
Number of free trial days before billing begins.
isPerUserPricing
boolean
Enable per-user (per-seat) pricing for this plan.
perUserMultiplier
number
Price multiplier per additional user when per-user pricing is enabled.

Response

Returns the full updated plan object.

Example

curl -X PUT https://cuprice.io/api/v1/projects/my-saas-app/plans/201 \
  -H "Authorization: Bearer cpk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro Plus",
    "basePrice": 39,
    "isPopular": true,
    "freemiumDay": 14,
    "isPerUserPricing": true,
    "perUserMultiplier": 8
  }'
{
  "id": 201,
  "name": "Pro Plus",
  "description": "For growing teams",
  "basePrice": 39,
  "isPopular": true,
  "isVisible": true,
  "isFree": false,
  "freemiumDay": 14,
  "isPerUserPricing": true,
  "perUserMultiplier": 8,
  "planFeatures": [
    {
      "id": 301,
      "multiplier": 5,
      "feature": {
        "id": 101,
        "name": "AI Prompts",
        "featureType": "Limits",
        "basePrice": 10
      }
    },
    {
      "id": 302,
      "multiplier": 1,
      "feature": {
        "id": 102,
        "name": "Team Members",
        "featureType": "Standart",
        "basePrice": 5
      }
    }
  ],
  "createdAt": "2025-10-05T12:00:00.000Z",
  "updatedAt": "2025-12-10T09:30:00.000Z"
}

Errors

StatusDescription
400Invalid field value
401Invalid or missing API key
403API key does not have read_write permission
404Project or plan not found