Get Publish Matrix
GET/api/v2/listings/publish
Catalog-wide publish matrix. Returns a paginated list of products with per-channel publish state (bucket) for each publish-capable connected channel. Returns catalog-wide publish state per product across channels.
products:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
One row per product, with channels[] listing all publish-capable channels and their current bucket (live / ready / warn / idle / scheduled / publishing / draft). The channel_buckets map is a convenience for matrix cell rendering (channel_id → bucket string).
totals aggregates bucket counts across the ENTIRE catalog (every product × publish-capable channel) — this is what the summary cards above the matrix display. page_totals is the same aggregation scoped to only the products on the current page (retained for page-level tallies).
Authentication: Requires Bearer token. channel_totals breaks the same catalog-wide counts down per channel — each entry lists the channel (channel_id, name, integration_name), its total product count, and a count in each status bucket.
product.variant_parent — set when the product is a CHILD of a variation family, giving that family's parent as {id, sku, name}; null for standalone products and for the parent itself.
A variation family is listed as one grouped listing sent from the parent, which creates one item per variant on the channel. A variant therefore has no listing draft and no template of its own, and cannot be published on its own. Use this field to label such rows and to point actions at the parent — publishing or republishing a variant directly is not a supported operation.
Request
Responses
- 200
- 401
- 403
- 429
OK
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.