BerriAI/litellm · error · HTTPException
Date range too large; maximum is {_SPEND_REPORT_MAX_RANGE_DA
Error message
Date range too large; maximum is {_SPEND_REPORT_MAX_RANGE_DAYS} days What it means
Error "Date range too large; maximum is {_SPEND_REPORT_MAX_RANGE_DAYS} days" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:1588
)
try:
parsed = (
datetime.strptime(start_date, "%Y-%m-%d").replace(tzinfo=timezone.utc),
datetime.strptime(end_date, "%Y-%m-%d").replace(tzinfo=timezone.utc),
)
except ValueError:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail="start_date and end_date must be in YYYY-MM-DD format",
)
start_date_obj, end_date_obj = parsed
if end_date_obj < start_date_obj:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail="start_date must be on or before end_date",
)
if end_date_obj - start_date_obj > timedelta(days=_SPEND_REPORT_MAX_RANGE_DAYS):
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail=f"Date range too large; maximum is {_SPEND_REPORT_MAX_RANGE_DAYS} days",
)
return parsed
def _resolve_spend_report_scope(
user_api_key_dict: UserAPIKeyAuth,
requested: str | None,
caller_value: str | None,
scope_name: str,
) -> str:
"""Return the scope value the caller may query spend for.
Non-admin callers are clamped to their own identity: a ``requested`` value
that differs from ``caller_value`` is a 403. Proxy admins (and admin
viewers) may request any scope.
"""View on GitHub (pinned to 77b7c6c40c)
Solutions
- Shorten the requested date range to within the maximum allowed days; split large reports into multiple calls.
When it happens
Trigger: Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:1588 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/ca268a3dcd8e92a8.
Report an issue: GitHub.