---
title: "Set the plan price"
method: PUT
path: "/plans/{id}/price"
tags: ["Plans"]
---

# Set the plan price

`PUT /plans/{id}/price`

## Request

- Base URL: `https://api.cavuno.com/v1`
- URL: `https://api.cavuno.com/v1/plans/{id}/price`
- Auth: HTTP bearer

Upserts the single checkout price for the plan. Requires a ready Board payment connection and an Idempotency-Key header.

## Path parameters

- `id` string, required: The plan ID returned by create or list endpoints.

## Request body

- SetPlanPriceBody
  - `currency` string, required: ISO 4217 currency code (e.g. usd).
  - `amountCents` integer, required: Unit amount in the smallest currency unit.

## Response `200`

Price set and synced.

- PlanPrice, nullable: The plan single active price, or null when no price has been set.
  - `currency` string, required: ISO 4217 currency code, lowercase.
  - `amountCents` integer, required: Unit amount in the smallest currency unit.

## Other responses

- `404`: Plan not found.
- `409`: The plan cannot carry a price: the Board payment connection is not ready, the plan is sold by contact, or it is an assign-only membership.
- `502`: Price publishing failed.

## Changes

- **2026-10-19** `c34152c38176`: 3 info
  - added the optional property `error/upgrade` to the response with the `404` status
  - added the optional property `error/upgrade` to the response with the `409` status
  - added the optional property `error/upgrade` to the response with the `502` status

[Operation history](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/changes/plans/:id/price/put.md)

---

[API](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api.md) · [All operations](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/revisions/d5974dabff14?raw)
