Expose reset all approvals in the public API
Problem to Solve
Currently our options to reset all approvals on push are either on or off. This provides little flexibility in workflows where you might want to reset the approvals (via external service) sometimes or sometimes you're comfortable leaving the approvals in place. While toggling the setting is available via the API, the actual underlying reset behavior is not exposed via the API.
Additional details
It's currently possible to unapprove a merge request via the API. However, this endpoint is only available to the specific user who made an approval and not to all the approvals on the MR.
Proposal
A new endpoint should be created that allows a single user (permissions TBD) to reset all the approvals on a given merge request.
Permissions Concerns
Currently the ability to unapprove is a per user basis. While it's possible to loop through via impersonation and reset approvals, it's not ideal. The question that needs to be answered is what level of access token should be able to reset the approvals of other users.