I was able to fix this by removing the API and recreating it. Luckily this was for a feature that was not yet released on our end. But it seems there was a rollout to the interface that broke existing implementations because the same API exact call is made and the older button always displays the success message and the recreated button displays the expected error.