BerriAI/litellm · error · HTTPException

Member not found in organization={data.organization_id} for

Error message

Member not found in organization={data.organization_id} for user_id={data.user_id}

What it means

After applying role/budget updates, the code re-reads the membership row to build the response and it comes back None — the (user_id, organization_id) membership vanished or never existed at response-building time. Raised as 404 to signal the final state could not be confirmed.

Source

Thrown at litellm/proxy/management_endpoints/organization_endpoints.py:1432

                    "user_id_organization_id": {
                        "user_id": data.user_id,
                        "organization_id": data.organization_id,
                    }
                },
                data={"budget_id": budget_id},
            )
        final_organization_membership = await _table(OrganizationMembershipRepository(prisma_client)).find_unique(
            where={
                "user_id_organization_id": {
                    "user_id": data.user_id,
                    "organization_id": data.organization_id,
                }
            },
            include={"litellm_budget_table": True},
        )

        if final_organization_membership is None:
            raise HTTPException(
                status_code=400,
                detail={"error": f"Member not found in organization={data.organization_id} for user_id={data.user_id}"},
            )

        final_organization_membership_pydantic: Final = LiteLLM_OrganizationMembershipTable.model_validate(
            final_organization_membership.model_dump(exclude_none=True)
        )
        return final_organization_membership_pydantic
    except Exception as e:
        verbose_proxy_logger.exception("Error updating member in organization: %s", e)
        raise e


@router.delete(
    "/organization/member_delete",
    tags=["organization management"],
    dependencies=[Depends(user_api_key_auth)],
)

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Verify the user_id is a member of the organization.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/organization_endpoints.py:1432 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/53c339f1211c398e. Report an issue: GitHub.