Это что то вроде
Result
Success<T>
Error
?
В этом треде имелась ввиду ситуация, тогда ответ приходит завёрнутый в объекте и на верхнем уровне может находиться какая-то метадата. В таких случае, можно сделать Result<T> { metadata: Metadata, body: T }
А дальше, если не хотите видеть Result<T> в каждой сигнатуре в сервисе - то можно сделать type converter