{"record":{"id":"6056f776e3704ee9","repo":"BerriAI/litellm","slug":"api-key-is-required-for-straiker","errorCode":null,"errorMessage":"api_key is required for straiker","messagePattern":"api_key is required for straiker","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/straiker/__init__.py","lineNumber":40,"sourceCode":")\n\n\ndef _get_config_value(litellm_params: \"LitellmParams\", optional_params: object, attribute_name: str) -> object:\n    if optional_params is not None:\n        if isinstance(optional_params, dict):\n            value = optional_params.get(attribute_name)\n        else:\n            value = getattr(optional_params, attribute_name, None)\n        if value is not None:\n            return value\n    return getattr(litellm_params, attribute_name, None)\n\n\ndef initialize_guardrail(litellm_params: \"LitellmParams\", guardrail: \"Guardrail\"):\n    optional_params: Final = getattr(litellm_params, \"optional_params\", None)\n    api_key: Final = litellm_params.api_key\n    if not api_key:\n        raise ValueError(\"api_key is required for straiker\")\n\n    api_base: Final = litellm_params.api_base or \"https://api.prod.straiker.ai\"\n    default_app: Final = getattr(litellm_params, \"default_app\", None) or getattr(litellm_params, \"source\", None)\n    source: Final = default_app if isinstance(default_app, str) and default_app else \"LiteLLM Gateway\"\n    kwargs: Final[dict[str, object]] = {\n        field: value\n        for field in _OPTIONAL_INIT_FIELDS\n        for value in [_get_config_value(litellm_params, optional_params, field)]\n        if value is not None\n    }\n    _callback: Final = StraikerGuardrail(\n        api_key=api_key,\n        api_base=api_base if isinstance(api_base, str) else \"https://api.prod.straiker.ai\",\n        source=source,\n        guardrail_name=guardrail.get(\"guardrail_name\", \"straiker\"),\n        event_hook=litellm_params.mode,\n        default_on=litellm_params.default_on,\n        **kwargs,","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/straiker/__init__.py#L22-L58","documentation":"Error \"api_key is required for straiker\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/straiker/__init__.py:40 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass api_key in the straiker guardrail configuration.","Or set the corresponding environment variable for the Straiker API key."],"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"}