Тут вопрос изначально вопрос был на ретрай по статус коду.
Вполне стандартная практика ретраить запрос с экспоненциальным ожидаением пока тебе не придёт нужный статус код -> ответ.
Например, в том же azure storage частенько нужно ретраить почти все операции с блобами, если работаешь с высоконагруженным сервисом:
https://docs.microsoft.com/en-us/rest/api/storageservices/blob-service-error-codesА когда тебе вернулся нужный статус код, значит можно и ответ парсить и дальше смотреть, что там пришло. Если не то, то снова ретраить.
Проверять только статус код - плохая практика. Ретраить пока не вернулся нужный статус код - стандартная практика.