{"record":{"id":"5d25e41414f34c50","repo":"BerriAI/litellm","slug":"singulr-api-unreachable-block-on-error-true-ex","errorCode":null,"errorMessage":"Singulr API unreachable (block_on_error=True): {exc}","messagePattern":"Singulr API unreachable \\(block_on_error=True\\): (.+?)","errorType":"exception","errorClass":"GuardrailRaisedException","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py","lineNumber":173,"sourceCode":"            return result\n\n        except httpx.HTTPStatusError as exc:\n            verbose_proxy_logger.error(\n                \"Singulr API returned HTTP %s: %s\",\n                exc.response.status_code,\n                str(exc),\n            )\n            if self.block_on_error:\n                raise GuardrailRaisedException(\n                    guardrail_name=self.guardrail_name,\n                    message=(f\"Singulr API returned HTTP {exc.response.status_code}: {exc.response.text}\"),\n                ) from exc\n            return None\n\n        except httpx.TransportError as exc:\n            verbose_proxy_logger.error(\"Singulr API unreachable: %s\", str(exc))\n            if self.block_on_error:\n                raise GuardrailRaisedException(\n                    guardrail_name=self.guardrail_name,\n                    message=f\"Singulr API unreachable (block_on_error=True): {exc}\",\n                ) from exc\n            return None\n\n        except (ValueError, pydantic.ValidationError) as exc:\n            verbose_proxy_logger.error(\"Singulr API returned an invalid response: %s\", str(exc))\n            if self.block_on_error:\n                raise GuardrailRaisedException(\n                    guardrail_name=self.guardrail_name,\n                    message=f\"Singulr API returned an invalid response: {exc}\",\n                ) from exc\n            return None\n\n    @log_guardrail_information\n    async def apply_guardrail(\n        self,\n        inputs: GenericGuardrailAPIInputs,","sourceCodeStart":155,"sourceCodeEnd":191,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py#L155-L191","documentation":"Error \"Singulr API unreachable (block_on_error=True): {exc}\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py:173 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify network connectivity from the proxy to the Singulr api_base.","If the outage is acceptable, set block_on_error=False so requests proceed when the API is down."],"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"}