Delist and clean up
Take listings off channels, archive products, and understand what delete really means.
Delist from one channel
curl -X DELETE https://api.nembol.com/rest/v1/listings/{id} \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Idempotency-Key: delist-VDJ-001-shopify"The answer is 202, and the worker removes it from the channel. The listing record is
kept with status: "delisted" (history preserved); publish again any
time with POST /listings.
Delete a product
curl -X DELETE https://api.nembol.com/rest/v1/products/{id} \
-H "Authorization: Bearer $NEMBOL_API_KEY" \
-H "Idempotency-Key: delete-VDJ-001"Delete is an archive: the product disappears from GET /products and
from every search on it (?sku= included), unless you ask for
status=archived; it stays readable by id (GET /products/{id}, status
archived), so it can be restored. An archived product with merged_into
set was merged into that product; with merged_into: null it was deleted.
Nothing is destroyed. If the product still has live listings you get
422 product_still_listed. Delist everywhere first.
A delist runs in the background: if you delete while it is still running
you get 409 listing_operation_in_progress. Wait for operation.completed
(or poll the listing until delisted), then delete; don't retry in a loop. That guard is a
feature: it makes "accidentally deleted a live product" impossible.
Gotchas
- Imported/linked listings can't be delisted through Nembol
(
listing_not_delistable). They're owned by the channel; manage them there or disconnect. - Delisting is not deleting. The channel listing ends, the Nembol product stays intact with all its data.
- Verify on the channel if it matters: poll the listing until
delisted, then the oldurl_on_channelshould 404.
Last updated on October 22, 2026
Need help?
Email us and a human replies, usually within one business day.