BerriAI/litellm · error · HTTPException
retrieval_config must be an object
Error message
retrieval_config must be an object
What it means
RAG query type check: retrieval_config was supplied but is not a JSON object/dict (e.g. a string or list), so its fields cannot be read; rejected with 400 after the presence check passed.
Source
Thrown at litellm/proxy/rag_endpoints/endpoints.py:650
# Validate required fields
if not model:
raise HTTPException(
status_code=400,
detail={"error": "model is required"},
)
if not messages:
raise HTTPException(
status_code=400,
detail={"error": "messages is required"},
)
if not retrieval_config:
raise HTTPException(
status_code=400,
detail={"error": "retrieval_config is required"},
)
if not isinstance(retrieval_config, dict):
raise HTTPException(
status_code=400,
detail={"error": "retrieval_config must be an object"},
)
if "vector_store_id" not in retrieval_config:
raise HTTPException(
status_code=400,
detail={"error": "retrieval_config must contain 'vector_store_id'"},
)
await _authorize_nested_vector_store_ids(
payload=retrieval_config,
user_api_key_dict=user_api_key_dict,
)
# Add litellm data
request_data: dict[str, object] = {}
request_data = await add_litellm_data_to_request(
data=request_data,
request=request,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Send retrieval_config as a JSON object, not a string or array.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/rag_endpoints/endpoints.py:650 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/196586537152c573.
Report an issue: GitHub.