catalog.category.set_custom_fields
Set the declared custom fields on a category — MERGES by key: a key you do not name is left alone, and a null value removes one (an empty map is refused). Unlike cart.set_custom_fields, which replaces its bags, because this one is shared by the merchant, apps and the kernel.
- Scope:
catalog.category.write - System: no
- Reachable from:
POST /v1/commands/catalog.category.set_custom_fields— the tenant data face, with a tenant credential carryingcatalog.category.write· MCP toolcatalog.category.set_custom_fields· SDKclient.call('catalog.category.set_custom_fields', …) - Events: none — No public read projects a category’s custom fields — the category doc carries description, banner and meta, not the field bag. Nothing in the kernel derives from them either, so an event here would be outbox volume with no reader.
Input (JSON Schema)
Section titled “Input (JSON Schema)”{ "properties": { "category_id": { "minLength": 1, "type": "string" }, "custom_fields": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" } }, "required": [ "category_id", "custom_fields" ], "type": "object"}Result (200)
Section titled “Result (200)”{ "additionalProperties": false, "properties": { "category_id": { "type": "string" } }, "required": [ "category_id" ], "type": "object"}Errors
Section titled “Errors”validation_failed (400) · unauthorized (401) · forbidden (403) · conflict (409) · internal (500)