From f79737ad90557ad05104cb94289466484d6cffd2 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Sat, 14 Jun 2025 14:03:59 -0700 Subject: [PATCH] docs SCIM enterprise only --- .../my-website/docs/tutorials/scim_litellm.md | 3 +++ .../management_endpoints/scim/scim_v2.py | 22 ++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/docs/my-website/docs/tutorials/scim_litellm.md b/docs/my-website/docs/tutorials/scim_litellm.md index c744abe4b49..851379610b0 100644 --- a/docs/my-website/docs/tutorials/scim_litellm.md +++ b/docs/my-website/docs/tutorials/scim_litellm.md @@ -1,8 +1,11 @@ import Image from '@theme/IdealImage'; + # SCIM with LiteLLM +✨ **Enterprise**: SCIM support requires a premium license. + Enables identity providers (Okta, Azure AD, OneLogin, etc.) to automate user and team (group) provisioning, updates, and deprovisioning on LiteLLM. diff --git a/litellm/proxy/management_endpoints/scim/scim_v2.py b/litellm/proxy/management_endpoints/scim/scim_v2.py index a80622cc3aa..9b2799cc4a7 100644 --- a/litellm/proxy/management_endpoints/scim/scim_v2.py +++ b/litellm/proxy/management_endpoints/scim/scim_v2.py @@ -1,6 +1,7 @@ """ -SCIM v2 Endpoints for LiteLLM Proxy using Internal User/Team Management +✨ SCIM v2 Endpoints for LiteLLM Proxy using Internal User/Team Management +This is an enterprise feature and requires a premium license. """ import uuid @@ -32,12 +33,13 @@ from litellm.proxy.management_endpoints.scim.scim_transformations import ( ScimTransformations, ) from litellm.proxy.management_endpoints.team_endpoints import new_team -from litellm.proxy.utils import handle_exception_on_proxy +from litellm.proxy.utils import _premium_user_check, handle_exception_on_proxy from litellm.types.proxy.management_endpoints.scim_v2 import * scim_router = APIRouter( prefix="/scim/v2", - tags=["SCIM v2"], + tags=["✨ SCIM v2 (Enterprise Only)"], + dependencies=[Depends(_premium_user_check)], ) @@ -82,13 +84,13 @@ async def get_users( where_conditions["user_email"] = email # Get users from database - users: List[ - LiteLLM_UserTable - ] = await prisma_client.db.litellm_usertable.find_many( - where=where_conditions, - skip=(startIndex - 1), - take=count, - order={"created_at": "desc"}, + users: List[LiteLLM_UserTable] = ( + await prisma_client.db.litellm_usertable.find_many( + where=where_conditions, + skip=(startIndex - 1), + take=count, + order={"created_at": "desc"}, + ) ) # Get total count for pagination