{"record":{"id":"84ca250750d5ac87","repo":"BerriAI/litellm","slug":"violated-pangea-guardrail-policy","errorCode":null,"errorMessage":"Violated Pangea guardrail policy","messagePattern":"Violated Pangea guardrail policy","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/pangea/pangea.py","lineNumber":141,"sourceCode":"        endpoint: Final = f\"{self.api_base}/{api}\"\n\n        headers: Final = {\n            \"Authorization\": f\"Bearer {self.api_key}\",\n            \"Content-Type\": \"application/json\",\n        }\n\n        verbose_proxy_logger.debug(\n            \"Pangea Guardrail (%s): Calling endpoint %s with payload: %s\", hook_name, endpoint, payload\n        )\n\n        response: Final = await self.async_handler.post(url=endpoint, json=payload, headers=headers)\n        response.raise_for_status()\n\n        result: Final = response.json()\n\n        if result.get(\"result\", {}).get(\"blocked\"):\n            verbose_proxy_logger.warning(\"Pangea Guardrail (%s): Request blocked. Response: %s\", hook_name, result)\n            raise HTTPException(\n                status_code=400,  # Bad Request, indicating violation\n                detail={\n                    \"error\": \"Violated Pangea guardrail policy\",\n                    \"guardrail_name\": self.guardrail_name,\n                },\n            )\n        verbose_proxy_logger.debug(\n            \"Pangea Guardrail (%s): Request passed. Response: %s\", hook_name, result.get(\"result\", {}).get(\"detectors\")\n        )\n\n        return result\n\n    async def _async_pre_call_hook(\n        self,\n        user_api_key_dict: UserAPIKeyAuth,\n        cache: DualCache,\n        data: dict,\n        call_type: str,","sourceCodeStart":123,"sourceCodeEnd":159,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/pangea/pangea.py#L123-L159","documentation":"Error \"Violated Pangea guardrail policy\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/pangea/pangea.py:141 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Modify the request to comply with the Pangea guardrail policy that fired.","Review the enabled Pangea services (e.g. redact, malicious prompt detection) and their thresholds."],"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"}