Skip to main content

Store Products

Module-gated

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โ€‹

FeatureRental ProductsStore Products
PricingDuration-based (hourly, daily, weekly)Fixed price per unit
DatesRequires pickup and return datesNo dates required
AvailabilityBased on inventory units and date overlapBased on stock quantity
BundlesCan be grouped into rental bundlesNot applicable
WorkshopItems can be sent for maintenanceNot 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โ€‹

ScopeDescription
store:readList and retrieve store products, variations, and inventory
store:writeCreate, update, delete store products, variations, and inventory

Endpointsโ€‹

Store Productsโ€‹

MethodEndpointDescription
GET/v1/store-productsList store products
GET/v1/store-products/{id}Get a store product
POST/v1/store-productsCreate 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.

MethodEndpointDescription
GET/v1/store-products/{id}/variation-optionsList variation options
POST/v1/store-products/{id}/variation-optionsCreate 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}/variationsList variations
GET/v1/store-products/{id}/variations/{variationId}Get a variation
POST/v1/store-products/{id}/variationsCreate 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.

MethodEndpointDescription
POST/v1/store-products/{id}/inventoryAdjust inventory (group tracking only)
GET/v1/store-products/{id}/inventory-itemsList inventory items
GET/v1/store-products/{id}/inventory-items/{itemId}Get an inventory item
POST/v1/store-products/{id}/inventory-itemsAdd 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