thanks for the response maark…
Ui is not an option here unfortunately - this is an api so stripping it all back I suppose the question is what is the best way to handle a request that has side effects where relationships are not involved.
My initial thoughts were to return 207 (predicated on the primary purpose of the request being successful - otherwise we’d error and the side-effects would not be a consideration)) and then detail each side-effect in the meta-data of root of the response.
In the [poor] example I give in the OP - the promotion_item would be removed because one of the items it relates to has been removed and therefore the requirements of that promotion are no longer fulfilled.
I’m struggling to think of any other way that my initial idea that would satisfy this requirement.
I do hope others have some ideas too - this feels like something that would be useful and also benefit from the minds of teh jsonapi community to make it useable/sensible