- Support user-configurable number of retries before raising a new TooManyRetriesError or similar - If the API experiences a non-200 response, it should retry the request - If it is a 429, the Retry-After header should be respected and wait that duration of time before retrying the request