How to prevent merge request from a webhook

I feel I might be missing something obvious but I can’t see any direct way to use a webhook to vet a merge request and refuse to merge it if it doesn’t meet with our requirements. I have configured a githook to do this but the webhooks seem easier to use and I am using web hooks for all of the other integrations that we need. I sort of expected that returning an error status to the merge request merge webhook might do the trick but it is explicitly stated that the response status is always ignored.