Если в документации описывается это поле как «Собака», «Кошка» или «Рыба», то да, добавление другого типа изменяет интерфейс обратно несовместимым способом. Вполне возможно, что пользователь вашего API написал специальный код для работы с собаками и кошками иначе, чем с рыбой. Учитывая неизвестный тип, этот потребитель не будет знать, что делать с вашим ответом. Но это очень сильно зависит от того, что эти типы заполнителей «Cat» и «Fish» представляют в вашей актуальной проблемной области…
Если изменения в списке возможных типов происходят часто или список не является конечным, то документирование этого как такового является разумным. В зависимости от ваших вариантов использования, может быть целесообразно представить список всех возможных типов в качестве конечной точки в вашем API - таким образом, ясно, что вы можете добавлять или удалять типы без обновления версии API. Однако чем более динамичны ваши типы, тем сложнее потребителям API сделать что-то специфичное для типа. Важность расширения или простоты использования зависит от ваших сценариев использования и проблемной области.