BerriAI/litellm · error · HTTPException
Budget with id '{budget_obj.budget_id}' already exists.
Error message
Budget with id '{budget_obj.budget_id}' already exists. What it means
Error "Budget with id '{budget_obj.budget_id}' already exists." thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/management_endpoints/budget_management_endpoints.py:108
# if no budget_reset_at date is set, but a budget_duration is given, then set budget_reset_at initially to the first completed duration interval in future
if budget_obj.budget_reset_at is None and budget_obj.budget_duration is not None:
budget_obj.budget_reset_at = get_budget_reset_time(budget_duration=budget_obj.budget_duration)
budget_obj_json: Final = budget_obj.model_dump(exclude_none=True)
budget_obj_jsonified: Final = jsonify_object(budget_obj_json) # json dump any dictionaries
try:
response: Final = await BudgetRepository(prisma_client).table.create(
data={
**budget_obj_jsonified,
"created_by": user_api_key_dict.user_id or litellm_proxy_admin_name,
"updated_by": user_api_key_dict.user_id or litellm_proxy_admin_name,
}
)
except Exception as e:
if not isinstance(e, UniqueViolationError):
raise
raise HTTPException(
status_code=400,
detail={"error": f"Budget with id '{budget_obj.budget_id}' already exists."},
)
return response
@router.post(
"/budget/update",
tags=["budget management"],
dependencies=[Depends(user_api_key_auth)],
)
async def update_budget(
budget_obj: BudgetNewRequest,
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
):
"""
Update an existing budget object.View on GitHub (pinned to 77b7c6c40c)
Solutions
- Choose a different budget_id.
- Update the existing budget instead of creating a duplicate.
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/budget_management_endpoints.py:108 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/d7c4c851dec24e25.
Report an issue: GitHub.