Overview
Create a Client Package — assigns a payment package to a specific client, creating a subscription-like record with optional validity dates and custom pricing.
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, App, and Directory tokens.
Required Parameters
client_id— the UID of the client who will receive the package.package_id— the UID of the package catalog entry to assign.
Optional Parameters
valid_from— start date in YYYY-MM-DD format (defaults to today).valid_until— end date in YYYY-MM-DD format (defaults based on the package's configured expiration).price— custom price override; when omitted the package's catalog price is used.conversation_id— matter/conversation UID to associate with this client package.tax_uids— array of tax UIDs to apply.
Notes
- The
package_idmust reference a valid, active package in the business's catalog (created viaPOST /platform/v1/payment/packages). - Returns 422 when the request is invalid or the referenced package does not exist.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
