{"record":{"id":"38090d9fe92607d8","repo":"BerriAI/litellm","slug":"singulr-api-returned-http-exc-response-status-cod","errorCode":null,"errorMessage":"Singulr API returned HTTP {exc.response.status_code}: {exc.response.text}","messagePattern":"Singulr API returned HTTP (.+?): (.+?)","errorType":"exception","errorClass":"GuardrailRaisedException","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py","lineNumber":164,"sourceCode":"            response: Final = await self.async_handler.post(\n                url=endpoint,\n                headers=self._build_headers(),\n                json=payload,\n                timeout=self.timeout,\n            )\n            response.raise_for_status()\n            result: Final = SingulrGuardrailResponse.model_validate(response.json())\n            verbose_proxy_logger.debug(\"Singulr: result=%s\", result)\n            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(","sourceCodeStart":146,"sourceCodeEnd":182,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py#L146-L182","documentation":"Error \"Singulr API returned HTTP {exc.response.status_code}: {exc.response.text}\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/singulr/singulr.py:164 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the HTTP status and response body in the error for the API-side cause.","Verify the Singulr API key and request payload are valid."],"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-14T00:17:10.932Z"}