Under schema nms:offer there is a Cancel operation

It takes 3 arguments namely
offerId
comment
offerSpaces

Pass in the ID value of offer and the spaces from where you wish to deactivate the offer along with a comment.
From within JS of Adobe Campaign you can call the same function. Kindly refer to https://experienceleague.adobe.com/developer/campaign-api/api/sm-offer-Cancel.html
Please make sure you take necessary action on propositionRcp records which are in either Presented or Activated status. You might wish to cancel their status as well.