catalog.product.update

Patch product fields. Price and stock are NOT here — use catalog.price.set / catalog.stock.set.

Payload

fieldtyperequirednotes
idstring (/^prd_[a-zA-Z0-9]{1,32}$/)yes
patchobjectyes
titlestring (≤200 chars)no
handlestring (/^a-z0-9?$/, ≤64 chars)no
descriptionMdstring (≤20000 chars)no
categoryIdstring (/^cat_[a-zA-Z0-9]{1,32}$/) | nullno
badgesarray<string (/^[a-z0-9-]{1,24}$/)> (≤10)no
status"draft" | "active"no
lowStockThresholdinteger (1..1000000) | nullno

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^prd_[a-zA-Z0-9]{1,32}$"
    },
    "patch": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "handle": {
          "type": "string",
          "maxLength": 64,
          "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"
        },
        "descriptionMd": {
          "type": "string",
          "maxLength": 20000
        },
        "categoryId": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^cat_[a-zA-Z0-9]{1,32}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "badges": {
          "maxItems": 10,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,24}$"
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "draft",
            "active"
          ]
        },
        "lowStockThreshold": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "patch"
  ],
  "additionalProperties": false
}
Generated from the live platform registries at build time — reference pages cannot go stale. Markdown variant: /reference/commands/catalog.product.update.md