I've added Delete functionality to a CI before. That basically entailed modifying the AE Peoplecode that the CI was using to handle a "D" value in the EFF_STATUS field, which we used as a Delete indicator. Then the DeleteItem() function was called as necessary to do the cleanup.

Sorry, can't help you with the part abotu exposing it to a third-party app...