Products

Archive product

Archives, without deleting, the reusable base record.

DELETE
/v1/products/{productId}

This DELETE is a logical archive, not a physical removal. The Product becomes archived, while its history, Variants, inventory movements, and events remain available for audit. There is no endpoint that silently erases that history.

The API rejects the operation while any Product Variant still has a Listing binding. This protection prevents an ad from pointing to a sellable unit that was removed from the catalog. First list the Variants, locate affected listings, and replace each binding map.

Use archiving to retire a record that should no longer be used. Do not use it to unpublish: pausing or removing an offer is an independent Listing operation.

Common errors

  • 409 CONFLICT with details.reason = "product_in_kit": a Variant of this product is a component of an active kit. Remove it from the kit (PUT /v1/products/{id}/components) first. Archiving the kit itself is allowed.

Authorization

api_key
headerAuthorizationBearer <token>

API key (mk_...)

Path Parameters

productId*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Response Body

The product was archived.

curl -X DELETE "https://example.com/v1/products/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty