Ответ 1
Если это ошибка сервера, то это должно быть 500. Если это ошибка клиента, используйте 400.
Трудно быть более точным, чем это, не видя URI и что вы с ним делаете. Например, если "Продукт больше не доступен" является результатом запроса GET, тогда он должен быть 404 (не найден). Но если это был запрос POST, тогда он должен быть 200 или 202.
Для двух других они могут не быть ошибкой. Возможно, клиент отправил правильный запрос, но запас был поглощен кем-то другим, в этом случае сервер должен вернуть 409 (конфликт). Если запрос был для слишком большого количества акций с самого начала, тогда он должен быть только 200/202.
Если вам нужен только один код, просто используйте 400 и 200 (см. выше).