Create one or more products. Required fields: name, product group ID, target unit count, and
unit type ID. Optional fields include target occupancy percentage.
The rate configuration (amount in cents, currency, interval) is conditionally required —
the product group’s rate strategy decides:
| Product group rate strategy |
rate |
If you get it wrong |
| Standalone |
Required |
RATE_REQUIRED_FOR_STRATEGY |
| Derives from a parent |
Must be omitted |
PRODUCT_RATE_CANNOT_BE_SET_DIRECTLY |
A derived product’s rate is computed from the paired parent product’s rate (the parent’s billing
interval, with the group’s percentage modifier applied), so there is nothing for a caller to set.
| Parameter |
Type |
Required |
Description |
products |
CreateProductInput[] |
Yes |
Array of product entries to create - CreateProductInput |
| Field |
Type |
Required |
Description |
name |
string |
Yes |
The name of the product |
productGroupId |
string |
Yes |
The ID of the product group this product belongs to |
rate |
CreateRateInput | null |
No |
The rate details for the product. Required for a product group with a standalone rate strategy; MUST be omitted for a group that derives its rates from a parent (the rate is derived from the parent product). Explicit null is normalized to omission. - CreateRateInput |
targetUnitCount |
number |
Yes |
The target count of units for this product |
unitTypeId |
string |
Yes |
The ID of the unit type associated with this product |
targetOccupancyPercentage |
number |
No |
The target occupancy percentage (0-100) |
| Field |
Type |
Required |
Description |
amountCents |
number |
Yes |
The amount in cents for the rate |
currency |
string |
Yes |
The currency code (e.g., GBP, USD) |
interval |
Interval |
Yes |
The interval of the rate - Interval |
| Value |
Description |
MONTHLY |
Billed on a monthly basis |
WEEKLY |
Billed on a weekly basis |
NIGHTLY |
Billed on a nightly basis |
| Field |
Type |
Description |
content |
ContentItem[] |
Array of content items returned by the tool - ContentItem |
isError |
boolean |
Whether the tool execution resulted in an error |
| Field |
Type |
Description |
type |
'text' |
Content type (currently only ‘text’ is supported) |
text |
string |
The text content to display |