End Listing on Channel
POST/api/v2/product-listings/:productListing/end
End a live listing on its sales channel (listing publishing).
Per-channel semantics:
- Amazon: deletes the SKU's listings item (SP-API deleteListingsItem)
- BigCommerce: hides the product (is_visible=false, reversible)
- eBay: ends the item (Trading EndFixedPriceItem, EndingReason=NotAvailable)
- Walmart: retires the item (DELETE /v3/items/{sku}, async up to 48h)
- Shopify: archives the product (productUpdate status ARCHIVED, reversible)
- WooCommerce: trashes the product (DELETE without force, reversible)
On success the local ProductListing's remote_status is stamped with the channel-side state the listing was left in — missing for hard deletes/retires (Amazon, eBay, Walmart) or archived for native unpublish (Shopify, BigCommerce, WooCommerce) — so the catalog coverage matrix demotes the cell and offers a republish.
Authentication: Requires Bearer token. Gated by the per-tenant listing-publishing feature flag (403 when disabled).
Idempotent: ending a listing that was already removed on the channel still succeeds (remote_status becomes missing).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
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.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
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.