diff --git a/litellm/proxy/_types.py b/litellm/proxy/_types.py index 8a0369892e4..f54bee399b7 100644 --- a/litellm/proxy/_types.py +++ b/litellm/proxy/_types.py @@ -262,6 +262,13 @@ class LiteLLMRoutes(enum.Enum): "/metrics", ] + internal_user_routes: List = [ + "/key/generate", + "/key/update", + "/key/delete", + "/key/info", + ] + spend_tracking_routes + # class LiteLLMAllowedRoutes(LiteLLMBase): # """ diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 5cf6d12ed8f..b9a978b57ac 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -1365,6 +1365,11 @@ async def user_api_key_auth( status_code=status.HTTP_403_FORBIDDEN, detail=f"user not allowed to access this route, role= {_user_role}. Trying to access: {route}", ) + elif ( + _user_role == LitellmUserRoles.INTERNAL_USER + and route in LiteLLMRoutes.internal_user_routes.value + ): + pass else: user_role = "unknown" user_id = "unknown"