{"record":{"id":"57140c5de1989a1f","repo":"BerriAI/litellm","slug":"ibm-guardrails-base-url-is-required-pass-base-url","errorCode":null,"errorMessage":"IBM Guardrails base_url is required. Pass base_url parameter.","messagePattern":"IBM Guardrails base_url is required\\. Pass base_url parameter\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/ibm_detector.py","lineNumber":64,"sourceCode":"        block_on_detection: bool = True,\n        verify_ssl: bool = True,\n        **kwargs,\n    ):\n        self.async_handler = get_async_httpx_client(\n            llm_provider=httpxSpecialProvider.GuardrailCallback,\n            params={\"ssl_verify\": verify_ssl},\n        )\n\n        # Set API configuration\n        self.auth_token = auth_token or os.getenv(\"IBM_GUARDRAILS_AUTH_TOKEN\")\n        if not self.auth_token:\n            raise ValueError(\n                \"IBM Guardrails auth token is required. Set IBM_GUARDRAILS_AUTH_TOKEN environment variable or pass auth_token parameter.\"\n            )\n\n        self.base_url = base_url\n        if not self.base_url:\n            raise ValueError(\"IBM Guardrails base_url is required. Pass base_url parameter.\")\n\n        self.detector_id = detector_id\n        if not self.detector_id:\n            raise ValueError(\"IBM Guardrails detector_id is required. Pass detector_id parameter.\")\n\n        self.is_detector_server = is_detector_server\n        self.detector_params = detector_params or {}\n        self.extra_headers = extra_headers or {}\n        self.score_threshold = score_threshold\n        self.block_on_detection = block_on_detection\n        self.verify_ssl = verify_ssl\n\n        # Construct API URL based on server type\n        if self.is_detector_server:\n            self.api_url = f\"{self.base_url}/api/v1/text/contents\"\n        else:\n            self.api_url = f\"{self.base_url}/api/v2/text/detection/content\"\n","sourceCodeStart":46,"sourceCodeEnd":82,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/ibm_detector.py#L46-L82","documentation":"Error \"IBM Guardrails base_url is required. Pass base_url parameter.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/ibm_detector.py:64 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass base_url in the guardrail's litellm_params pointing at your IBM Guardrails detector endpoint.","Confirm the URL scheme (https) and host are reachable from the proxy."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}