BerriAI/litellm · error · ValueError

OPENAI_API_KEY is required for Evals API

Error message

OPENAI_API_KEY is required for Evals API

What it means

Error "OPENAI_API_KEY is required for Evals API" thrown in BerriAI/litellm.

Source

Thrown at litellm/llms/openai/evals/transformation.py:59

    @property
    def custom_llm_provider(self) -> LlmProviders:
        return LlmProviders.OPENAI

    def validate_environment(self, headers: dict, litellm_params: GenericLiteLLMParams | None) -> dict:
        """Add OpenAI-specific headers"""
        import litellm
        from litellm.secret_managers.main import get_secret_str

        # Get API key following OpenAI pattern
        api_key = None
        if litellm_params:
            api_key = litellm_params.api_key

        api_key = api_key or litellm.api_key or litellm.openai_key or get_secret_str("OPENAI_API_KEY")

        if not api_key:
            raise ValueError("OPENAI_API_KEY is required for Evals API")

        # Add required headers
        headers["Authorization"] = f"Bearer {api_key}"
        headers["Content-Type"] = "application/json"

        return headers

    def get_complete_url(
        self,
        api_base: str | None,
        endpoint: str,
        eval_id: str | None = None,
    ) -> str:
        """Get complete URL for OpenAI Evals API"""
        if api_base is None:
            api_base = "https://api.openai.com"

        if eval_id:

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Set OPENAI_API_KEY to use the Evals API.

When it happens

Trigger: Thrown at litellm/llms/openai/evals/transformation.py:59 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15). Data as JSON: /api/errors/10b353834380bb42. Report an issue: GitHub.