Store Tools
These tools are only advertised to AI clients when the supplier has the Store module enabled. See Per-supplier tool filtering for details.
Manage store products (physical items for sale, not rentals), track inventory, view sales statistics, and identify low stock items.
Required scope: store:read for read tools, store:write for write tools
Tools Overviewโ
| Tool | Description | Read-only? |
|---|---|---|
list_store_products | List store products with filters | Yes |
get_store_product | Get store product details | Yes |
create_store_product | Create a new store product | No |
update_store_product | Update a store product | No |
adjust_store_inventory | Adjust stock quantity | No |
add_store_product_variation_option | Add a variation property (e.g. "Size") | No |
create_store_product_variation | Create one variation (e.g. the "S" size) | No |
update_store_product_variation | Update a variation's name, SKU or price | No |
delete_store_product_variation | Delete a variation | No |
get_low_stock_store_products | Get products with low stock | Yes |
get_top_store_products | Get top-selling store products | Yes |
get_store_stats | Get store sales statistics | Yes |
list_store_productsโ
List store products with optional filters.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
search | string | No | Search by product name or SKU |
status | string | No | Filter by status: active, draft, archived |
category_id | integer | No | Filter by category ID |
low_stock_only | boolean | No | Filter to low stock products only |
limit | integer | No | Number of results (default 10, max 50) |
get_store_productโ
Get details of a specific store product including variations, stock levels, and images.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
product_id | integer | Yes | The store product ID |
create_store_productโ
Create a new store product for sale.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Product name |
price | number | Yes | Product price |
sku | string | No | Product SKU |
brief_description | string | No | Brief product description |
track_inventory | boolean | No | Whether to track stock levels (default true) |
stock_quantity | integer | No | Initial stock quantity |
is_standalone | boolean | No | Whether this can be purchased independently |
who_can_buy | string | No | everyone, staff_only (POS and the app only, never the booking page) or off (add-on only) |
whats_included | array | No | [{label, description}] rows. See Content Blocks. |
does_not_include | array | No | [{label, description}] rows โ what's not included. See Content Blocks. |
itinerary | array | No | [{time, title, description}] rows. |
highlights | array | No | Flat list of strings (pill chips). |
check_in_details | string | No | Rich-text HTML. |
what_to_bring | array | No | Flat list of strings. |
restrictions | string | No | Rich-text HTML. |
health_and_safety | string | No | Rich-text HTML. |
cancellation_notes | string | No | Rich-text HTML. |
update_store_productโ
Update an existing store product.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
product_id | integer | Yes | The store product ID to update |
name | string | No | New product name |
price | number | No | New price |
sku | string | No | New SKU |
brief_description | string | No | New description |
status | string | No | New status: active, draft, archived |
is_standalone | boolean | No | Whether this can be purchased independently |
who_can_buy | string | No | everyone, staff_only (POS and the app only, never the booking page) or off (add-on only) |
whats_included | array | No | [{label, description}] rows. See Content Blocks. |
does_not_include | array | No | [{label, description}] rows โ what's not included. See Content Blocks. |
itinerary | array | No | [{time, title, description}] rows. |
highlights | array | No | Flat list of strings. |
check_in_details | string | No | Rich-text HTML. |
what_to_bring | array | No | Flat list of strings. |
restrictions | string | No | Rich-text HTML. |
health_and_safety | string | No | Rich-text HTML. |
cancellation_notes | string | No | Rich-text HTML. |
adjust_store_inventoryโ
Adjust stock quantity for a store product at one location. Use positive numbers to add stock, negative to remove.
Adjusts a single variation at a single location per call โ to stock several variations or locations, call it once per combination. Call get_store_product first for the variation IDs and get_locations for the location IDs.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
product_id | integer | Yes | The store product ID |
quantity_change | integer | Yes | Amount to adjust (positive to add, negative to remove) |
variation_id | integer | Conditional | The variation to adjust. Required when the product has variations |
location_id | integer | No | The location to stock. Defaults to the default location when omitted |
reason | string | No | Reason for the adjustment |
A variation product's stock lives on its variations, so omitting variation_id for one returns an error rather than silently adjusting nothing.
Store product variationsโ
Store products have their own variation tools โ the rental-product tools (create_product_variation) do not work on them.
The shape is two levels:
- A variation property (option) is what a variation varies BY โ "Size", "Color".
get_store_productreturns these asvariation_optionswith their IDs. - A variation is one concrete combination โ "S", or "S / Blue".
To set up sizes S/M/L with stock: get_store_product (read variation_options, adding one with add_store_product_variation_option if needed) โ create_store_product_variation once per size โ adjust_store_inventory once per variation per location.
add_store_product_variation_optionโ
Add a variation property to a store product. Only needed when no suitable property exists yet.
| Name | Type | Required | Description |
|---|---|---|---|
product_id | integer | Yes | The store product ID |
name | string | Yes | The property name, e.g. "Size" |
values | string[] | No | Optional allowed values, e.g. ["S", "M", "L"] |
create_store_product_variationโ
Create one variation. Call once per variation.
| Name | Type | Required | Description |
|---|---|---|---|
product_id | integer | Yes | The store product ID |
option_values | object[] | Yes | One entry per property: [{"option_id": 3, "value": "S"}] |
sku | string | No | Optional SKU |
price_override | number | No | Optional price. Omit to use the product base price. |
stock_quantity | integer | No | Optional starting stock. Prefer adjust_store_inventory so stock lands at a location. |
Each value is registered on its property automatically, so the picker offers it next time.
update_store_product_variationโ
Update a variation's name, SKU or price. Use adjust_store_inventory to change stock.
| Name | Type | Required | Description |
|---|---|---|---|
product_id | integer | Yes | The store product ID |
variation_id | integer | Yes | The variation ID |
name | string | No | New display name |
sku | string | No | New SKU |
price_override | number | No | New price |
delete_store_product_variationโ
Delete a variation. Its stock is removed with it.
| Name | Type | Required | Description |
|---|---|---|---|
product_id | integer | Yes | The store product ID |
variation_id | integer | Yes | The variation ID |
get_low_stock_store_productsโ
Get store products with low stock levels, including out-of-stock items.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
threshold | integer | No | Stock threshold to consider as low (default: supplier setting) |
get_top_store_productsโ
Get top-selling store products by revenue or quantity sold.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
period | string | No | Predefined period: today, last_7_days, last_30_days, this_month, last_month, this_year |
start_date | string | No | Custom start date (overrides period) |
end_date | string | No | Custom end date (overrides period) |
limit | integer | No | Number of top products to return (default 10) |
get_store_statsโ
Get store sales statistics including total revenue, items sold, average order value, and active product count.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
period | string | No | Predefined period: today, last_7_days, last_30_days, this_month, last_month, this_year |
start_date | string | No | Custom start date (overrides period) |
end_date | string | No | Custom end date (overrides period) |
Relatedโ
- Store Products REST API - REST API endpoints for store products
- Categories Tools - Store category management