Я так понимаю лучше все поля джейсонов опциональными делать?
На стопроцентов не можешь быть уверен, что тебе придёт именно, то что ты ожидаешь, лучше опционалы, если вдруг на беке скажем, захотят изменить возвращаемый тип, то при декоде ты будешь всегда ловить краш, так как ты пытаешься декодировать к одному типу, хотя по факту там другой. С опционалами просто останется нил и декодер не выдаст ошибки.