Channels and publishing

Learn when channel work belongs to channel records, product membership, channel status, content overrides, variant groups, or events.

Start here when a product, variant group, or content field should behave differently in one selling or publishing surface than it does in the base catalog.

The short model

A channel is a publishing surface for catalog data. Use it for a place where products are made available, merchandised, synchronized, or presented with surface-specific values.

Channel membership says a product belongs to a channel.

Channel status says whether a product or variant group is active for that context.

A channel content override changes presentation data for one surface without changing the base product or variant-group record.

Choose the surface that matches the change:

  • Use channel record operations when the channel itself is created, renamed, inspected, updated, or deleted.
  • Use product membership operations when a product is added to or removed from a channel.
  • Use product channel-status operations when the product already has channel membership and only its channel-specific status changes.
  • Use variant-group channel-status operations when group-level presentation needs its own channel state.
  • Use channel content override operations when a channel needs a field value or relationship that differs from the base catalog record.
  • Use channel events when another system needs to react after channel records, content, or channel status changes.

Choose the right route

The Channels reference is Management API only. Use it from trusted back-office integrations and server-side tooling, not browser-only storefront code.

JobUseWhy
Create or update the channel recordCreate a channel or Update a channelThese operations own the channel itself.
Inspect channelsList channels or Get a channelUse these before changing membership, status, or content.
Remove a channelDelete a channelThis removes the channel record and current related channel rows. Treat it as destructive publishing administration.
Add or remove one productAdd product to channel or Remove product from channelThese operations change product membership.
Add or remove one or more product IDsBulk add products to channel or Bulk remove products from channelUse bulk operations when the caller can handle separate successful and failed results.
Change product channel statusSet product channel statusStatus changes require an existing channel membership row.
Change variant-group channel statusSet variant group channel statusVariant-group status lives with the Variant Groups reference because the target is group-level catalog presentation inside an existing product channel membership.
Create or update channel-specific contentCreate Channel Content Override, Update Channel Content Override, or the bulk content override operationsContent overrides change channel-specific field values or relationships without rewriting the base record.
Inspect content overrides for a targetList Channel Content Overrides by ParentUse this when you know the product, variant, or other parent that might have channel-specific presentation.

For exact methods, paths, request bodies, response fields, enum values, and status codes, use the Channels reference and Variant Groups reference.

Contract facts to keep in mind

Use these facts to choose the right reference. Use operation pages for exact fields, validation, limits, status codes, and response shapes.

  • Channel records handle the publishing surface itself: listing, creation, reads, updates, and deletion.
  • Product membership handles whether products belong to a channel. Adding a product to a channel creates or refreshes the product's membership row. Re-adding an existing member is an idempotent refresh.
  • Bulk product add accepts one or more product IDs and returns separate successful and failed results.
  • Removing a product is post-condition idempotent.
  • Product and variant-group channel status values are active, inactive, and incomplete. Setting a product status requires an existing product membership row.
  • Variant-group channel status rows are synchronized from product channel membership.
  • Content overrides handle channel-specific field values and relationships. Channel content overrides are keyed by channel, parent, parent type, and field type.
  • Creating an override for the same key upserts the existing override. Relationship override fields use ordered relationship IDs.
  • Bulk content create and update accept up to 100 items and return separate successful and failed collections.

Events

Use Events after channel data changes. The Event catalog covers channel record events, channel-content upsert/delete events, product channel-status changes, and variant-group channel-status changes.

Use the Event catalog for exact event type strings, schema IDs, required fields, and payload fields. Use Events latest for delivery and retry behavior.

Where to go next

Channels and publishing

# Channels and publishing Start here when a product, variant group, or content field should behave differently in one selling or publishing surface than it does in the base catalog. ## The short model A channel is a publishing surface for catalog data. Use it for a place where products are made available, merchandised, synchronized, or presented with surface-specific values. Channel membership says a product belongs to a channel. Channel status says whether a product or variant group is active for that context. A channel content override changes presentation data for one surface without changing the base product or variant-group record. Choose the surface that matches the change: - Use channel record operations when the channel itself is created, renamed, inspected, updated, or deleted. - Use product membership operations when a product is added to or removed from a channel. - Use product channel-status operations when the product already has channel membership and only its channel-specific status changes. - Use variant-group channel-status operations when group-level presentation needs its own channel state. - Use channel content override operations when a channel needs a field value or relationship that differs from the base catalog record. - Use channel events when another system needs to react after channel records, content, or channel status changes. ## Choose the right route The Channels reference is Management API only. Use it from trusted back-office integrations and server-side tooling, not browser-only storefront code. | Job | Use | Why | | --- | --- | --- | | Create or update the channel record | [Create a channel](/reference/channels/create-a-channel) or [Update a channel](/reference/channels/update-a-channel) | These operations own the channel itself. | | Inspect channels | [List channels](/reference/channels/list-channels) or [Get a channel](/reference/channels/get-a-channel) | Use these before changing membership, status, or content. | | Remove a channel | [Delete a channel](/reference/channels/delete-a-channel) | This removes the channel record and current related channel rows. Treat it as destructive publishing administration. | | Add or remove one product | [Add product to channel](/reference/channels/add-product-to-channel) or [Remove product from channel](/reference/channels/remove-product-from-channel) | These operations change product membership. | | Add or remove one or more product IDs | [Bulk add products to channel](/reference/channels/bulk-add-products-to-channel) or [Bulk remove products from channel](/reference/channels/bulk-remove-products-from-channel) | Use bulk operations when the caller can handle separate successful and failed results. | | Change product channel status | [Set product channel status](/reference/channels/set-product-channel-status) | Status changes require an existing channel membership row. | | Change variant-group channel status | [Set variant group channel status](/reference/variant-groups/set-variant-group-channel-status) | Variant-group status lives with the Variant Groups reference because the target is group-level catalog presentation inside an existing product channel membership. | | Create or update channel-specific content | [Create Channel Content Override](/reference/channels/create-channel-content-override), [Update Channel Content Override](/reference/channels/update-channel-content-override), or the bulk content override operations | Content overrides change channel-specific field values or relationships without rewriting the base record. | | Inspect content overrides for a target | [List Channel Content Overrides by Parent](/reference/channels/list-channel-content-overrides-by-parent) | Use this when you know the product, variant, or other parent that might have channel-specific presentation. | For exact methods, paths, request bodies, response fields, enum values, and status codes, use the [Channels reference](/reference/channels) and [Variant Groups reference](/reference/variant-groups). ## Contract facts to keep in mind Use these facts to choose the right reference. Use operation pages for exact fields, validation, limits, status codes, and response shapes. - Channel records handle the publishing surface itself: listing, creation, reads, updates, and deletion. - Product membership handles whether products belong to a channel. Adding a product to a channel creates or refreshes the product's membership row. Re-adding an existing member is an idempotent refresh. - Bulk product add accepts one or more product IDs and returns separate successful and failed results. - Removing a product is post-condition idempotent. - Product and variant-group channel status values are `active`, `inactive`, and `incomplete`. Setting a product status requires an existing product membership row. - Variant-group channel status rows are synchronized from product channel membership. - Content overrides handle channel-specific field values and relationships. Channel content overrides are keyed by channel, parent, parent type, and field type. - Creating an override for the same key upserts the existing override. Relationship override fields use ordered relationship IDs. - Bulk content create and update accept up to 100 items and return separate successful and failed collections. ## Events Use Events after channel data changes. The Event catalog covers channel record events, channel-content upsert/delete events, product channel-status changes, and variant-group channel-status changes. Use the [Event catalog](/events/catalog) for exact event type strings, schema IDs, required fields, and payload fields. Use [Events latest](/events/latest) for delivery and retry behavior. ## Where to go next - Need exact channel endpoints? Use [Channels reference](/reference/channels). - Need group-level channel status? Use [Variant Groups reference](/reference/variant-groups). - Need the base catalog model? Read [Products, variants, variant groups, prices, and stock](/start/concepts/products-variants-prices-and-stock). - Need event delivery guidance? Read [Events latest](/events/latest).