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

  1. Choose a different budget_id.
  2. 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.