BerriAI/litellm · error · HTTPException
Foreign Key Constraint failed. Organization ID={db_data['org
Error message
Foreign Key Constraint failed. Organization ID={db_data['organization_id']} does not exist in LiteLLM_OrganizationTable. Create via `/organization/new`. What it means
Foreign-key violation on inserting/upserting a user (or related row) whose organization_id has no matching row in LiteLLM_OrganizationTable. The database rejected the write because the referenced organization does not exist; create it first via POST /organization/new, then retry.
Source
Thrown at litellm/proxy/utils.py:4021
)
verbose_proxy_logger.info("Data Inserted into Keys Table")
return new_verification_token
elif table_name == "user":
db_data = self.jsonify_object(data=data)
try:
new_user_row: Final = await UserRepository(self).table.upsert(
where={"user_id": data["user_id"]},
data={
"create": {**db_data},
"update": {}, # don't do anything if it already exists
},
)
except Exception as e:
if (
"Foreign key constraint failed on the field: `LiteLLM_UserTable_organization_id_fkey (index)`"
in str(e)
):
raise HTTPException(
status_code=400,
detail={
"error": f"Foreign Key Constraint failed. Organization ID={db_data['organization_id']} does not exist in LiteLLM_OrganizationTable. Create via `/organization/new`."
},
)
raise e
verbose_proxy_logger.info("Data Inserted into User Table")
return new_user_row
elif table_name == "team":
db_data = self.jsonify_team_object(db_data=data)
new_team_row: Final = await TeamRepository(self).table.upsert(
where={"team_id": data["team_id"]},
data={
"create": {**db_data},
"update": {}, # don't do anything if it already exists
},
)
verbose_proxy_logger.info("Data Inserted into Team Table")View on GitHub (pinned to 77b7c6c40c)
Solutions
- Create the organization first via /organization/new, or remove/correct the organization_id in the request.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/utils.py:4021 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/a4fc2e08d66c476a.
Report an issue: GitHub.