async def _get_with_auth(self, client: httpx.AsyncClient, url: str) -> Optional[dict]:
        """Make an authenticated GET request to the Todoist REST API using the provided URL.

        Returns the JSON response as a dict (or list if not JSON-object).
        If a 404 error is encountered, returns None instead of raising an exception.
        """
        headers = {"Authorization": f"Bearer {self.access_token}"}
        try:
            response = await client.get(url, headers=headers)
            response.raise_for_status()

            # Depending on the endpoint, responses may be a list or a dict.
            # We'll attempt to parse JSON and return whatever type we get:
            try:
                return response.json()
            except ValueError:
                return None
        except httpx.HTTPStatusError as e:
            # Handle 404 errors gracefully by returning None
            if e.response.status_code == 404:
                return None
            # Re-raise other HTTP errors
            raise
Make an authenticated GET request to the Todoist REST API using the provided URL.

        Returns the JSON response as a dict (or list if not JSON-object).
        If a 404 error is encountered, returns None instead of raising an exception.
        
backend/airweave/platform/sources/todoist.py