Get Publish-Readiness Snapshot
GET/api/v2/products/:product/publish-readiness
Per-product, multi-channel publish readiness snapshot. Returns one entry per publish-capable, connected sales channel, grouped by bucket (live / ready / warn / idle / publishing / scheduled / draft) so the publish dialog can render confidence groups without orchestrating N parallel calls.
Read-only: does NOT speculatively create drafts. Channels with no draft and no live listing land in idle and surface recommended next actions (pick a template, create one, etc.).
Bucket resolution:
live— a non-archivedProductListingexists for this product on the channelready— open draft in statereadyscheduled— open draft in statescheduledpublishing— open draft in statepublishingorvalidatingwarn— open draft in stateerror, ORdraftwith validation errorsdraft— open draft in statedraftwith no validation errorsidle— no open draft and no live listing
Authentication: Requires Bearer token.
Feature flag: requires listing-publishing to be enabled.
quantity_to_push (int|null, per channel entry) — the stock a publish to this channel would seed right now, computed through the same SalesChannelInventoryCalculator rules the standing inventory sync uses (max/min/buffer, locations, bundles). null when quantity seeding is gated off (listing-publishing push_quantity_on_publish setting disabled, SKU.io not master of stock for the instance, no inventory rules configured) or the bucket cannot publish (live / publishing).
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
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.