Как правило, для API я извиняюсь за использование кодов состояния HTTP вместо всегда ОК с определенным кодом статуса.Это означает, что вы можете следовать существующим стандартам для ответов, и любой, кто получит код ошибки, будет примерно знать, что произошло / что он должен сделать.Взгляните на вики-статью http коды состояния , где приведено полезное справочное руководство.
Кроме того, вместе с кодом ошибки, и поскольку речь идет об API, полезноиметь более описательное сообщение об ошибке.Что-то значимое, например ошибка: «Отсутствует токен аутентификации» или любой другой стандарт, который вы можете придумать.
Когда речь идет о создании ресурсов, я обычно отвечаю с помощью 201 (Создано) и только что созданного ресурса.Помните, что вы можете исключить некоторые атрибуты из ресурса (например, вы создаете пользователя, вы не должны возвращать конфиденциальную информацию, такую как зашифрованный пароль)
Что касается удаления ресурсов, обычно возвращаютсяс 200 (Ok) или 202 (Accepted) и без дополнительной информации.
Тем не менее, как упомянул @yek, это сильно зависит от приверженности потребителю API.Самое главное, чтобы вы достойно документировали API и объясняли, каковы должны быть ожидания.