Store Products
All endpoints in this section require the supplier to have the Store module
enabled. Calls return 403 module_disabled
when it is off. The Store Categories endpoints are gated the same way. Check
GET /supplier/modules before relying on
these endpoints.
Store products are physical items that customers can purchase outright (rather than rent for a period of time). Unlike rental products which require pickup and return dates, store products use simple fixed pricing with optional inventory tracking.
Key Differences from Rental Productsโ
| Feature | Rental Products | Store Products |
|---|---|---|
| Pricing | Duration-based (hourly, daily, weekly) | Fixed price per unit |
| Dates | Requires pickup and return dates | No dates required |
| Availability | Based on inventory units and date overlap | Based on stock quantity |
| Bundles | Can be grouped into rental bundles | Not applicable |
| Workshop | Items can be sent for maintenance | Not applicable |
Store Product Propertiesโ
Each store product has the following attributes:
- Name and SKU -- Product name and optional stock-keeping unit code
- Price -- The selling price
- Compare at price -- An optional original/RRP price for showing discounts
- Category -- Organise products into store categories
- Inventory tracking -- Optionally track stock at the group level (total quantity) or item level (individual items with identifiers and barcodes)
- Weight and dimensions -- Physical attributes with configurable weight unit
- Variation options -- Define options like Size or Colour, then create variations from those options
- Variations -- Offer different combinations (e.g., "Large / Red") with independent pricing and stock
- Standalone -- Control whether a product appears as a standalone store product
- Images -- Multiple images with a default for listings
API Scopesโ
| Scope | Description |
|---|---|
store:read | List and retrieve store products, variations, and inventory |
store:write | Create, update, delete store products, variations, and inventory |
Endpointsโ
Store Productsโ
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/store-products | List store products |
| GET | /v1/store-products/{id} | Get a store product |
| POST | /v1/store-products | Create a store product |
| PUT | /v1/store-products/{id} | Update a store product |
| DELETE | /v1/store-products/{id} | Delete a store product |
Variationsโ
Manage variation options (properties like "Size", "Color") and product variations (combinations like "Small / Red"). See Variations Overview for details.
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/store-products/{id}/variation-options | List variation options |
| POST | /v1/store-products/{id}/variation-options | Create variation option |
| PUT | /v1/store-products/{id}/variation-options/{optionId} | Update variation option |
| DELETE | /v1/store-products/{id}/variation-options/{optionId} | Delete variation option |
| GET | /v1/store-products/{id}/variations | List variations |
| GET | /v1/store-products/{id}/variations/{variationId} | Get a variation |
| POST | /v1/store-products/{id}/variations | Create a variation |
| PUT | /v1/store-products/{id}/variations/{variationId} | Update a variation |
| DELETE | /v1/store-products/{id}/variations/{variationId} | Delete a variation |
Inventoryโ
Manage stock levels for store products. Group-tracked products use the adjust endpoint; item-tracked products have individual item management. See Inventory Items for details.
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/store-products/{id}/inventory | Adjust inventory (group tracking only) |
| GET | /v1/store-products/{id}/inventory-items | List inventory items |
| GET | /v1/store-products/{id}/inventory-items/{itemId} | Get an inventory item |
| POST | /v1/store-products/{id}/inventory-items | Add inventory items |
| PUT | /v1/store-products/{id}/inventory-items/{itemId} | Update an inventory item |
| DELETE | /v1/store-products/{id}/inventory-items/{itemId} | Delete an inventory item |