Products

Update a product

Patch the editable fields on a retail product (e.g. product code, linked inventory product). Requires the SETTINGS_MANAGE permission; fields omitted from the body are left untouched.

put/shop/products/{productId}

Request body

namestring

Display name of the retail product, shown on the storefront, in the POS product picker, on receipts, and on reports. Plain text; must not contain HTML. 1-255 characters.

product_codestring nullable

Site-unique SKU used to identify this product at the till and on receipts. Free-text and not validated against any pattern; choose a stable identifier that maps cleanly to your accounting or stock system. Pass null to clear an existing code.

currencystring

The currency of the product price, as a 3-letter ISO currency code

descriptionstring nullable

A brief description of the product

standard_priceinteger nullable

The standard price for the product, in the smallest currency unit eg pence. Pass null to clear a previously-set standard price.

external_idstring nullable

An external identifier for this offering.

offered_onlineboolean

Whether this product is offered for sale online

barcodestring nullable

The barcode of the product

privateboolean

Whether this product is private

visibility'public' | 'link_only' | 'private'

The visibility status of the product

inventory_product_idstring nullable

ID of the linked stock-tracked inventory product. When set, each sale of this retail product decrements the inventory item's stock count; pass null to break the link and stop tracking inventory for this product.

image_idstring nullable

The image ID of the product

revenue_centrestring nullable

The revenue centre of the product

customer_cancellation_permitted'allowed' | 'disallowed' | 'unpaid'
customer_cancellation_min_durationstring

The minimum duration that must be left before the booking this product is a part of in order for the customer to cancel, as an ISO8601 string. See https://en.wikipedia.org/wiki/ISO_8601#Durations

category_idsstring[]

An array of category IDs the product belongs to

brand_idstring uuid

The brand ID of the product

Example request

{
  "name": "Sample Product",
  "product_code": "PROD-12345",
  "currency": "GBP",
  "description": "This is a sample product description.",
  "standard_price": 5000,
  "external_id": "ext-prod-moisturiser",
  "offered_online": true,
  "visibility": "public",
  "inventory_product_id": "INV-12345",
  "image_id": "123",
  "revenue_centre": "spa_retail",
  "customer_cancellation_permitted": "allowed",
  "customer_cancellation_min_duration": "P7D"
}

Response

A product response object.

Example response

{
  "data": {
    "name": "Dan's Hand Moisturiser",
    "currency": "gbp",
    "description": "For silky soft hands",
    "product_code": "MAS123",
    "price_from": 1000,
    "price_to": 5000,
    "standard_price": 5000,
    "image": {
      "file_name": "super-cool-photo.jpg",
      "mime_type": "image/jpeg",
      "original_url": "https://example.com/media/super-cool-photo.jpg",
      "size": 84256,
      "url": "https://example.com/media/super-cool-photo-thumbnail@2x.jpg"
    },
    "tags": [
      {
        "name": "Moisturisers"
      }
    ],
    "categories": [
      {
        "name": "Moisturisers"
      }
    ],
    "price_rules": [
      {
        "date_from": "2020-02-01",
        "date_to": "2020-04-01",
        "price": 20000
      }
    ],
    "revenue_centre": "spa",
    "customer_cancellation_permitted": "allowed",
    "customer_cancellation_min_duration": "P7D"
  }
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.