{"record":{"id":"5361d522ed88dc60","repo":"BerriAI/litellm","slug":"singulr-api-returned-an-invalid-response-exc","errorCode":null,"errorMessage":"Singulr API returned an invalid response: {exc}","messagePattern":"Singulr API returned an invalid response: (.+?)","errorType":"exception","errorClass":"GuardrailRaisedException","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py","lineNumber":182,"sourceCode":"                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,\n        request_data: dict,\n        input_type: str,\n        logging_obj: \"LiteLLMLoggingObj | None\" = None,\n    ) -> GenericGuardrailAPIInputs:\n        payload: Final = self._build_payload(request_data, inputs, input_type)\n        if not payload:\n            return inputs\n\n        result: Final = await self._call_api(payload)","sourceCodeStart":164,"sourceCodeEnd":200,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py#L164-L200","documentation":"Error \"Singulr API returned an invalid response: {exc}\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py:182 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the raw Singulr API response; the endpoint may have returned non-JSON or an unexpected schema.","Confirm api_base points to the correct Singulr API version."],"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"}