commerce

Update a product or adjust stock

Change any product field. This is the stock-sync call: set stock_quantity after a delivery arrives or a till sale happens elsewhere.

A malformed UUID answers 400 validation_failed before resource access; a well-formed unknown UUID or one outside your workspace answers 404.

Send only the fields you are changing; everything else is untouched.

Set stock_quantity: null to stop tracking stock, 0 to mark sold out.

images replaces the whole gallery, in the order you send it (an empty list removes every image). image_url alone replaces only the cover and keeps the rest; null removes the cover and the next image becomes it. Never send both.

Paid orders decrement stock automatically. Only PATCH for movements Blueticked cannot see (till sales, stock takes, returns to shelf).

patch/api/v1/commerce/products/{id}

Request

  • Base URL: https://app.blueticked.com
  • URL: https://app.blueticked.com/api/v1/commerce/products/{id}
  • Auth: HTTP bearer

Path parameters

idstring required

The resource's unique identifier.

Request body

stock_quantitynumber
is_activeboolean
image_urlstring nullable

One cover image (https). Not with images.

Example request

{
  "stock_quantity": 9,
  "is_active": true
}

Response

Success

okboolean required

Example response

{
  "ok": true,
  "product": {
    "id": "289e49ce-dfbc-4347-9b4c-52f001f009c3",
    "name": "Fynbos gift hamper",
    "currency": "ZAR",
    "images": [
      {
        "url": "https://example.com/hamper.jpg",
        "alt": "The hamper, wrapped in kraft paper"
      }
    ],
    "source": "blueticked",
    "is_active": true,
    "created_at": "2026-07-20T10:00:00.000Z",
    "variants": [
      {
        "id": "d37404e6-905e-48f7-9c9f-39cb178ba224",
        "name": "Large",
        "is_active": true
      }
    ]
  }
}

Changes

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