...
- sets deleted = false and that's it. This is an option for both developers and administrators.
DELETE /applies/id?physical=true
or DELETE /apples?id=x&physical=true
- physically removes item from database if and only if the caller is an administrator (otherwise falls back to a logical delete)
Physically deleting an entity that's marked as deleted should work, rather than returning a 404. Updating a logically deleted entity to undelete it should work.
Dependent Objects
Objects that cannot be deleted because they would leave other objects with referential integrity problems:
...