def METHOD_NAME(
    self, endpoint: str, headers: dict[str, str] | None = None
) -> dict[str, Any] | None:
    try:
        json_response = self.session.get(
            self._base_url + endpoint,
            raise_for_status=False,
            timeout=REQUESTS_TIMEOUT,
            headers=headers,
        )
    except requests.exceptions.TooManyRedirects:
        # Cache control redirect loop.
        # We try to remove the cache and try again
        self.session.delete_cache(self._base_url + endpoint)
        json_response = self.session.get(
            self._base_url + endpoint,
            raise_for_status=False,
            timeout=REQUESTS_TIMEOUT,
            headers=headers,
        )
    if json_response.status_code != 200:
        return None
    json: dict[str, Any] = json_response.json()
    return json