async def _post_with_auth(self, client: httpx.AsyncClient, url: str, json_data: dict) -> dict:
        """Make an authenticated POST request to the Notion API."""
        await self._wait_for_rate_limit()
        logger.debug(f"POST request to {url}")
        self._stats["api_calls"] += 1

        headers = {
            "Authorization": f"Bearer {self.access_token}",
            "Notion-Version": "2022-06-28",
        }

        try:
            response = await client.post(
                url, headers=headers, json=json_data, timeout=self.TIMEOUT_SECONDS
            )
            logger.debug(f"POST response from {url}: status={response.status_code}")

            if response.status_code != 200:
                logger.warning(
                    f"Non-200 response from Notion API: {response.status_code} for {url}"
                )
                logger.debug(f"Response body: {response.text[:200]}...")

            response.raise_for_status()
            return response.json()
        except Exception as e:
            logger.error(f"Error during POST request to {url}: {str(e)}")
            raise
Make an authenticated POST request to the Notion API.
backend/airweave/platform/sources/notion.py