{"record":{"id":"0efd9d0e4fbc7d3e","repo":"BerriAI/litellm","slug":"user-is-not-org-admin-for-organization-org-id","errorCode":null,"errorMessage":"User is not org_admin for Organization= {org_id}.","messagePattern":"User is not org_admin for Organization= (.+?)\\.","errorType":"http","errorClass":"HTTPException","httpStatus":403,"severity":"error","filePath":"litellm/proxy/management_endpoints/organization_endpoints.py","lineNumber":555,"sourceCode":"    org_ids_list = organization_ids.split(\",\") if organization_ids else None\n    exclude_org_ids_list: list[str] | None = None\n    if exclude_organization_ids:\n        exclude_org_ids_list = exclude_organization_ids.split(\",\") if exclude_organization_ids else None\n\n    # Restrict non-proxy-admins to only organizations where they are org_admin\n    if not _user_has_admin_view(user_api_key_dict):\n        memberships: Final = await _table(OrganizationMembershipRepository(prisma_client)).find_many(\n            where={\"user_id\": user_api_key_dict.user_id}\n        )\n        admin_org_ids = [m.organization_id for m in memberships if m.user_role == LitellmUserRoles.ORG_ADMIN.value]\n        if org_ids_list is None:\n            # Default to orgs where user is org_admin\n            org_ids_list = admin_org_ids\n        else:\n            # Ensure user is org_admin for all requested orgs\n            for org_id in org_ids_list:\n                if org_id not in admin_org_ids:\n                    raise HTTPException(\n                        status_code=403,\n                        detail={\"error\": f\"User is not org_admin for Organization= {org_id}.\"},\n                    )\n\n    # Fetch organization aliases for metadata\n    where_condition: Final = _STR_OBJECT_DICT_ADAPTER.validate_python({})\n    if org_ids_list:\n        where_condition[\"organization_id\"] = {\"in\": list(org_ids_list)}\n    org_aliases: Final = await _table(OrganizationRepository(prisma_client)).find_many(where=where_condition)\n\n    # Query daily activity for organizations\n    return await get_daily_activity(\n        prisma_client=prisma_client,\n        table_name=\"litellm_dailyorganizationspend\",\n        entity_id_field=\"organization_id\",\n        entity_id=org_ids_list,\n        entity_metadata_field={o.organization_id: {\"organization_alias\": o.organization_alias} for o in org_aliases},\n        exclude_entity_ids=exclude_org_ids_list,","sourceCodeStart":537,"sourceCodeEnd":573,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/organization_endpoints.py#L537-L573","documentation":"Visibility guard on organization listing: for non-admin callers the results are filtered to organizations where they hold an org_admin membership (via OrganizationMembershipRepository lookups). This error surfaces when a requested org is outside that admin set, preventing org enumeration by non-admins.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/organization_endpoints.py:555 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use an org_admin key for this organization, or a PROXY_ADMIN key."],"exampleFix":null,"handlingStrategy":"validation","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"}