# `channel.listing.set` Create/update marketplace listings for products or variants on a channel: enable, price/list overrides, price lock, buffer, mapping fields (bulk ≤500). - **scope**: `catalog:write` - **storefront-visible** (bumps the catalog generation): no - **destructive**: no ## Payload | field | type | required | notes | |---|---|---|---| | `channel` | string (/^[a-z0-9_]{2,24}$/) | yes | | | `rows` | array (≤500) | yes | | ### JSON Schema ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "channel": { "type": "string", "pattern": "^[a-z0-9_]{2,24}$" }, "rows": { "minItems": 1, "maxItems": 500, "type": "array", "items": { "type": "object", "properties": { "productId": { "type": "string", "pattern": "^prd_[a-zA-Z0-9]{1,32}$" }, "variantId": { "type": "string", "pattern": "^var_[a-zA-Z0-9]{1,32}$" }, "enabled": { "type": "boolean" }, "priceKurus": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 10000000000000 }, { "type": "null" } ] }, "listPriceKurus": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 10000000000000 }, { "type": "null" } ] }, "priceLocked": { "type": "boolean" }, "buffer": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 10000 }, { "type": "null" } ] }, "metaPatch": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "status": { "type": "string", "enum": [ "draft", "pending", "approved", "rejected", "locked", "archived", "orphaned" ] }, "externalProductId": { "anyOf": [ { "type": "string", "maxLength": 64 }, { "type": "null" } ] }, "externalSku": { "anyOf": [ { "type": "string", "maxLength": 100 }, { "type": "null" } ] }, "externalGroupId": { "anyOf": [ { "type": "string", "maxLength": 64 }, { "type": "null" } ] }, "lastPush": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "lastRemote": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "lastError": { "anyOf": [ { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, { "type": "null" } ] }, "dirty": { "type": "boolean" } }, "required": [ "productId" ], "additionalProperties": false } } }, "required": [ "channel", "rows" ], "additionalProperties": false } ```