{"record":{"id":"4c9d43dace230745","repo":"BerriAI/litellm","slug":"start-date-and-end-date-must-be-in-yyyy-mm-dd-form","errorCode":null,"errorMessage":"start_date and end_date must be in YYYY-MM-DD format","messagePattern":"start_date and end_date must be in YYYY-MM-DD format","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/spend_tracking/spend_management_endpoints.py","lineNumber":1577,"sourceCode":"            status_code=status.HTTP_403_FORBIDDEN,\n            detail=\"/spend/report endpoint \" + CommonProxyErrors.not_premium_user.value,\n        )\n    return prisma_client\n\n\ndef _parse_spend_report_date_range(start_date: str | None, end_date: str | None) -> tuple[datetime, datetime]:\n    if start_date is None or end_date is None:\n        raise HTTPException(\n            status_code=status.HTTP_400_BAD_REQUEST,\n            detail=\"Please provide start_date and end_date\",\n        )\n    try:\n        parsed = (\n            datetime.strptime(start_date, \"%Y-%m-%d\").replace(tzinfo=timezone.utc),\n            datetime.strptime(end_date, \"%Y-%m-%d\").replace(tzinfo=timezone.utc),\n        )\n    except ValueError:\n        raise HTTPException(\n            status_code=status.HTTP_400_BAD_REQUEST,\n            detail=\"start_date and end_date must be in YYYY-MM-DD format\",\n        )\n    start_date_obj, end_date_obj = parsed\n    if end_date_obj < start_date_obj:\n        raise HTTPException(\n            status_code=status.HTTP_400_BAD_REQUEST,\n            detail=\"start_date must be on or before end_date\",\n        )\n    if end_date_obj - start_date_obj > timedelta(days=_SPEND_REPORT_MAX_RANGE_DAYS):\n        raise HTTPException(\n            status_code=status.HTTP_400_BAD_REQUEST,\n            detail=f\"Date range too large; maximum is {_SPEND_REPORT_MAX_RANGE_DAYS} days\",\n        )\n    return parsed\n\n\ndef _resolve_spend_report_scope(","sourceCodeStart":1559,"sourceCodeEnd":1595,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/spend_tracking/spend_management_endpoints.py#L1559-L1595","documentation":"Error \"start_date and end_date must be in YYYY-MM-DD format\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:1577 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Format start_date and end_date as YYYY-MM-DD."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}