{"record":{"id":"362c85121f8c8037","repo":"BerriAI/litellm","slug":"no-user-id-passed-in","errorCode":null,"errorMessage":"No user id passed in","messagePattern":"No user id passed in","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/management_endpoints/internal_user_endpoints.py","lineNumber":2234,"sourceCode":"    - user_ids: List[str] - The list of user id's to be deleted.\n    \"\"\"\n    from litellm.proxy.management_endpoints.team_endpoints import (\n        _cleanup_members_with_roles,\n    )\n    from litellm.proxy.management_helpers.audit_logs import (\n        get_audit_log_changed_by,\n    )\n    from litellm.proxy.proxy_server import (\n        create_audit_log_for_update,\n        litellm_proxy_admin_name,\n        prisma_client,\n    )\n\n    if prisma_client is None:\n        raise HTTPException(status_code=500, detail={\"error\": \"No db connected\"})\n\n    if data.user_ids is None:\n        raise HTTPException(status_code=400, detail={\"error\": \"No user id passed in\"})\n\n    # Per-target authorization: the route-level gate accepts this call when\n    # the caller is PROXY_ADMIN or an ORG_ADMIN of *any* org named in\n    # request_data[\"organization_id\"]/[\"organizations\"]. That gate does NOT\n    # cross-check data.user_ids against the caller's scope, so without this\n    # loop an org-admin of org-A could delete users in org-B by supplying\n    # {\"user_ids\": [victim_in_org_B], \"organization_id\": \"org-A\"}.\n    caller_is_proxy_admin: Final = user_api_key_dict.user_role == LitellmUserRoles.PROXY_ADMIN.value\n    caller_admin_org_ids: set = set()\n    if not caller_is_proxy_admin:\n        caller_memberships: Final = (\n            await _organization_membership_table(prisma_client).find_many(\n                where={\n                    \"user_id\": user_api_key_dict.user_id,\n                    \"user_role\": LitellmUserRoles.ORG_ADMIN.value,\n                }\n            )\n            if user_api_key_dict.user_id","sourceCodeStart":2216,"sourceCodeEnd":2252,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/internal_user_endpoints.py#L2216-L2252","documentation":"Error \"No user id passed in\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/internal_user_endpoints.py:2234 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include the user_id (or user_ids) parameter in the request body.","Check the endpoint documentation for the required identifier field name."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}