Десереализацию, наверно, лучше в отдельном методе для десерелизации, чтобы в перемешку не было)
Я думаю правильнее делать её в том же методе, который обращался к API, с кортежем я точно буду знать, что если была ошибка, то строку десереализую как модель Error, если успешно, значит вернулся USer