Если ошибка неустранимая силами клиента и он завершает работу после возникновения такой ошибки, то это исключительная ситуация, работаем с исключениями, пользователю показываем «Попробуйте позже», самому API сообщаем, что «я завершился» (если этому API надо что-нибудь сообщать).
Если клиент предполагает работать дальше (не хватает денег на постройку? пользователю показываем «Не хватает денег», API сообщаем «ок, не хватает, так хватает», клиент продолжает работать с текущим количеством денег), то это не исключение, а нормальная работа.