BerriAI/litellm · error · HTTPException
Bad Request - Either 'model' or 'completion_response' must b
Error message
Bad Request - Either 'model' or 'completion_response' must be provided
What it means
Error "Bad Request - Either 'model' or 'completion_response' must be provided" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:2149
output_cost_per_token: Final = _litellm_params.get("output_cost_per_token")
if input_cost_per_token is not None or output_cost_per_token is not None:
cost_per_token = CostPerToken(
input_cost_per_token=input_cost_per_token,
output_cost_per_token=output_cost_per_token,
)
_cost = completion_cost(
model=_litellm_model_name,
messages=request.messages,
custom_cost_per_token=cost_per_token,
)
else:
_cost = completion_cost(model=request.model, messages=request.messages)
elif request.completion_response is not None:
_completion_response: Final = litellm.ModelResponse(**request.completion_response)
_cost = completion_cost(completion_response=_completion_response)
else:
raise HTTPException(
status_code=400,
detail="Bad Request - Either 'model' or 'completion_response' must be provided",
)
return {"cost": _cost}
except Exception as e:
if isinstance(e, HTTPException):
raise ProxyException(
message=getattr(e, "detail", str(e)),
type=getattr(e, "type", "None"),
param=getattr(e, "param", "None"),
code=getattr(e, "status_code", status.HTTP_400_BAD_REQUEST),
)
error_msg: Final = f"{e}"
raise ProxyException(
message=getattr(e, "message", error_msg),
type=getattr(e, "type", "None"),
param=getattr(e, "param", "None"),
code=getattr(e, "status_code", 500),View on GitHub (pinned to 77b7c6c40c)
Solutions
- Provide either 'model' (with messages) or 'completion_response' in the spend calculation request.
When it happens
Trigger: Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:2149 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/05ccd6fcbf77c0a7.
Report an issue: GitHub.