BerriAI/litellm · error · HTTPException

Either 'provider' or 'target_model_names' must be provided e

Error message

Either 'provider' or 'target_model_names' must be provided e.g. `?target_model_names=gpt-4o`

What it means

HTTPException raised when listing files: neither 'provider' nor 'target_model_names' was given (and no team provider credentials resolved), so the proxy cannot determine which backend to query. The caller must pin a provider or model, e.g. ?target_model_names=gpt-4o.

Source

Thrown at litellm/proxy/openai_files_endpoints/files_endpoints.py:1415

            # No model/target_model_names pinned: resolve upstream credentials from
            # the team's deployment for this provider so the call is authenticated
            # against the team's own account (e.g. the team's openai deployment).
            apply_team_provider_credentials(
                data=data,
                llm_router=llm_router,
                user_api_key_dict=user_api_key_dict,
                custom_llm_provider=custom_llm_provider,
            )

            response = await litellm.afile_list(
                custom_llm_provider=custom_llm_provider,
                purpose=purpose,
                **data,
            )

        if response is None:
            raise HTTPException(
                status_code=500,
                detail="Either 'provider' or 'target_model_names' must be provided e.g. `?target_model_names=gpt-4o`",
            )

        ## POST CALL HOOKS ###
        _response: Final = await proxy_logging_obj.post_call_success_hook(
            data=data, user_api_key_dict=user_api_key_dict, response=response
        )
        if _response is not None and isinstance(_response, OpenAIFileObject):
            response = _response

        ### ALERTING ###
        asyncio.create_task(
            proxy_logging_obj.update_request_status(litellm_call_id=data.get("litellm_call_id", ""), status="success")
        )

        ### RESPONSE HEADERS ###
        hidden_params: Final = getattr(response, "_hidden_params", {}) or {}

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Provide 'provider' or 'target_model_names', e.g. ?target_model_names=gpt-4o.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/openai_files_endpoints/files_endpoints.py:1415 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/f93ca7889518e341. Report an issue: GitHub.