Skip to content
v0.3

catalog.product.publish

Publish a product into a store (N:N; same product/SKU, no copy). Publication and lifecycle STATUS are orthogonal: the public catalog needs both a publication row and status='active', so publishing a draft succeeds and leaves the product invisible. The answer says so — status is the product’s, and visible_in_catalog is false while anything still hides it (a draft/archived status, or no purchasable SKU).

  • Scope: catalog.product.publish
  • System: no
  • Reachable from: POST /v1/commands/catalog.product.publish (tenant credential) · MCP tool catalog.product.publish · SDK client.call('catalog.product.publish', …)
  • Events: catalog.product.published
{
"properties": {
"product_id": {
"minLength": 1,
"type": "string"
},
"store_id": {
"minLength": 1,
"type": "string"
}
},
"required": [
"product_id",
"store_id"
],
"type": "object"
}

Open (unknown) — this command does not declare an output schema.

validation_failed (400) · unauthorized (401) · forbidden (403) · conflict (409) · internal (500)