Permanently delete a product listing and all its images. Destructive.
Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback.
Use only when the user explicitly asks to remove a listing they own.
Cannot be undone — there is no soft-delete or trash bin. Idempotent:
deleting a product that no longer exists returns an error, not duplicate
side effects.
Caller must own the product.
Args:
product_id: ID of the product to delete. Get from `get_my_products`.
api_key: Optional API key (`pk_*`, generate at /account).
Used when there is no OAuth token, and also when the OAuth
token lacks the required scope — an explicitly passed key
overrides an ambient token that is scoped too narrowly.
An invalid or revoked token still fails regardless. Omit when using OAuth.
Returns:
``{"deleted": True, "product_id": int}`` on success, or
``{"error": ...}`` on auth/ownership failure.
Connector