*Currently, the “delete” does nothing more than set it as a draft, which causes problems for me as I can’t delete other items that are referenced to the deleted item.
Can anybody help regarding this issue ?
Are there any other CMS items which are referencing the item you deleted?
If so you’ll likely need to remove those references first, before the API can fully delete that item.
Just created an account here to say I found the same thing happened when I deleted CMS items via the API.
This is pretty unintuitive and needs to at least be spelled out more clearly in the API docs.
To fully delete something, I found I needed to first call the delete endpoint for the item with ?live=true, so send it to a draft state AND have it unpublished, then I needed to call the delete endpoint again, but this time leaving off the live query param, to then fully delete the item from my collection.
Ideally, this should all be able to happen in one API call.
Is it possible that you have any ref fields in other CMS items that are referencing the item you’re deleting?
If I recall correctly, under those circumstances Webflow cannot delete the item ( has to update multiple records, could violate a required field constraint, etc. ), so it drafts it instead.
What you missed is that although the CMS item has been deleted, that change has not been published to the live site (i.e. you still need to do a full site publish). In order to fully delete AND unpublish an item without having to go into the editor and publish the whole site, you need to do two requests: one with live=true followed by one without.
IMO, appending the live=true parameter should behave the same way as in other requests and just publish the change to the live site. Changing a CMS item to Draft should be a separate function. You are not deleting anything, so it should not be an HTTP DELETE method.