{"record":{"id":"10b353834380bb42","repo":"BerriAI/litellm","slug":"openai-api-key-is-required-for-evals-api","errorCode":null,"errorMessage":"OPENAI_API_KEY is required for Evals API","messagePattern":"OPENAI_API_KEY is required for Evals API","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/openai/evals/transformation.py","lineNumber":59,"sourceCode":"\n    @property\n    def custom_llm_provider(self) -> LlmProviders:\n        return LlmProviders.OPENAI\n\n    def validate_environment(self, headers: dict, litellm_params: GenericLiteLLMParams | None) -> dict:\n        \"\"\"Add OpenAI-specific headers\"\"\"\n        import litellm\n        from litellm.secret_managers.main import get_secret_str\n\n        # Get API key following OpenAI pattern\n        api_key = None\n        if litellm_params:\n            api_key = litellm_params.api_key\n\n        api_key = api_key or litellm.api_key or litellm.openai_key or get_secret_str(\"OPENAI_API_KEY\")\n\n        if not api_key:\n            raise ValueError(\"OPENAI_API_KEY is required for Evals API\")\n\n        # Add required headers\n        headers[\"Authorization\"] = f\"Bearer {api_key}\"\n        headers[\"Content-Type\"] = \"application/json\"\n\n        return headers\n\n    def get_complete_url(\n        self,\n        api_base: str | None,\n        endpoint: str,\n        eval_id: str | None = None,\n    ) -> str:\n        \"\"\"Get complete URL for OpenAI Evals API\"\"\"\n        if api_base is None:\n            api_base = \"https://api.openai.com\"\n\n        if eval_id:","sourceCodeStart":41,"sourceCodeEnd":77,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/llms/openai/evals/transformation.py#L41-L77","documentation":"Error \"OPENAI_API_KEY is required for Evals API\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/llms/openai/evals/transformation.py:59 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set OPENAI_API_KEY to use the Evals API."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}