BerriAI/litellm · error · HTTPException
Team rpm_limit ({data.rpm_limit}) exceeds organization's rpm
Error message
Team rpm_limit ({data.rpm_limit}) exceeds organization's rpm_limit ({org_table.litellm_budget_table.rpm_limit}). Organization: {org_table.organization_id} What it means
Hierarchical budget validation in the new-team endpoint (/team/new). The requested team's rpm_limit is larger than the rpm_limit set on the parent organization's litellm_budget_table, which would violate LiteLLM's org-to-team limit containment. Fires only when the parent org has an rpm_limit configured and the new team exceeds it. Lower the team rpm_limit or raise the organization's limit first.
Source
Thrown at litellm/proxy/management_endpoints/team_endpoints.py:986
data.tpm_limit is not None
and org_table.litellm_budget_table is not None
and org_table.litellm_budget_table.tpm_limit is not None
and data.tpm_limit > org_table.litellm_budget_table.tpm_limit
):
raise HTTPException(
status_code=400,
detail={
"error": f"Team tpm_limit ({data.tpm_limit}) exceeds organization's tpm_limit ({org_table.litellm_budget_table.tpm_limit}). Organization: {org_table.organization_id}"
},
)
if (
data.rpm_limit is not None
and org_table.litellm_budget_table is not None
and org_table.litellm_budget_table.rpm_limit is not None
and data.rpm_limit > org_table.litellm_budget_table.rpm_limit
):
raise HTTPException(
status_code=400,
detail={
"error": f"Team rpm_limit ({data.rpm_limit}) exceeds organization's rpm_limit ({org_table.litellm_budget_table.rpm_limit}). Organization: {org_table.organization_id}"
},
)
# Check guaranteed throughput limits (only if applicable)
rpm_limit_type: Final = getattr(data, "rpm_limit_type", None) or (
data.metadata.get("rpm_limit_type", None) if data.metadata else None
)
tpm_limit_type: Final = getattr(data, "tpm_limit_type", None) or (
data.metadata.get("tpm_limit_type", None) if data.metadata else None
)
if tpm_limit_type != "guaranteed_throughput" and rpm_limit_type != "guaranteed_throughput":
return
# get all organization teams
# calculate allocated tpm/rpm limitView on GitHub (pinned to 77b7c6c40c)
Solutions
- Set the team rpm_limit at or below the organization's rpm_limit.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/team_endpoints.py:986 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/01e2d5381d8334d5.
Report an issue: GitHub.