Overview
Update an existing package catalog template. You can modify pricing, name, description, expiration settings, items, and active status. Changes to the catalog template do NOT retroactively affect already-created client packages — those retain the values they were assigned at creation.
Feature Requirement
Requires the booking_packages feature on the business. It belongs to the Payments module but is not part of every subscription, and is disabled by default on newly provisioned businesses — treat it as unavailable unless you have confirmed it is on for the specific business.
When the feature is off, the request is rejected with 403 Forbidden and this body:
{"message": "403 Forbidden", "status": "module_permission_missing"}This is an entitlement check, not an authentication or permission failure. It is evaluated before the request body is validated and it fails identically for Staff, Directory and App tokens, so retrying, refreshing the token, or setting X-On-Behalf-Of will not change the outcome. The feature must be enabled for the business first. Related endpoints under /platform/v1/payment/packages and /platform/v1/payment/client_packages share the same gate.
Authentication
Available for Staff tokens. Directory and App tokens are supported with the X-On-Behalf-Of header set to the target business UID.
Path Parameters
package_id(required, string) — The unique identifier (UID) of the catalog package to update (e.g., "v2fvy50p8gjuvnvb").
Request Body
The request body must wrap all fields inside a package object. All fields are optional — only include fields you want to change.
Updatable Fields
name,price,currency,description— Basic package information.expiration,expiration_unit— Default validity period for future client subscriptions.discount_amount,discount_unit— Pricing discount.items— Service/product groups. Each item includesservices(array of service UIDs) andtotal_bookings(credit count). When updating items, pass the complete desired items array.online_payment_enabled— Client self-purchase toggle.active— Set tofalseto deactivate the package (hides from catalog listings).
Notes
- This endpoint is in Alpha and may change.
- Deactivating a package (
active: false) prevents it from being assigned to new clients but does not affect existing client packages.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
