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 old url_on_channel should 404.

Last updated on October 22, 2026

Need help?

Email us and a human replies, usually within one business day.

On this page