From e73c558533f09977a9f93a0989a2b3f39d260134 Mon Sep 17 00:00:00 2001 From: Teddy Amkie Date: Fri, 5 Sep 2025 10:19:13 -0700 Subject: [PATCH 1/5] docs: clarify users can be on many teams --- docs/my-website/docs/proxy/user_management_heirarchy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/my-website/docs/proxy/user_management_heirarchy.md b/docs/my-website/docs/proxy/user_management_heirarchy.md index 3565c9d257..cb5cc0dd7a 100644 --- a/docs/my-website/docs/proxy/user_management_heirarchy.md +++ b/docs/my-website/docs/proxy/user_management_heirarchy.md @@ -9,5 +9,5 @@ LiteLLM supports a hierarchy of users, teams, organizations, and budgets. - Organizations can have multiple teams. [API Reference](https://litellm-api.up.railway.app/#/organization%20management) - Teams can have multiple users. [API Reference](https://litellm-api.up.railway.app/#/team%20management) -- Users can have multiple keys. [API Reference](https://litellm-api.up.railway.app/#/budget%20management) +- Users can have multiple keys, and be on multiple teams. [API Reference](https://litellm-api.up.railway.app/#/budget%20management) - Keys can belong to either a team or a user. [API Reference](https://litellm-api.up.railway.app/#/end-user%20management) From 3d7ee67aaaa52ffcc7d778eea99ad84595b17b19 Mon Sep 17 00:00:00 2001 From: Teddy Amkie Date: Fri, 5 Sep 2025 11:47:13 -0700 Subject: [PATCH 2/5] docs: clarify and improve logo customization section in admin UI docs (side-by-side images, explanation) --- docs/my-website/docs/proxy/admin_ui_sso.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/my-website/docs/proxy/admin_ui_sso.md b/docs/my-website/docs/proxy/admin_ui_sso.md index 86cb6b0bf8..823301d4c3 100644 --- a/docs/my-website/docs/proxy/admin_ui_sso.md +++ b/docs/my-website/docs/proxy/admin_ui_sso.md @@ -235,6 +235,13 @@ Example setting a local image (on your container) ```shell UI_LOGO_PATH="ui_images/logo.jpg" ``` + +#### Or set your logo directly from Admin UI: +
+ + +
+ #### Set Custom Color Theme - Navigate to [/enterprise/enterprise_ui](https://github.com/BerriAI/litellm/blob/main/enterprise/enterprise_ui/_enterprise_colors.json) - Inside the `enterprise_ui` directory, rename `_enterprise_colors.json` to `enterprise_colors.json` From 72b8db64847e20fe1f9c5f44e085a4e6149dd6f8 Mon Sep 17 00:00:00 2001 From: Teddy Amkie Date: Fri, 5 Sep 2025 14:36:52 -0700 Subject: [PATCH 3/5] docs: update admin UI branding section and add admin settings UI images --- docs/my-website/img/admin_settings_ui_theme.png | Bin 0 -> 14871 bytes .../img/admin_settings_ui_theme_logo.png | Bin 0 -> 42588 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/my-website/img/admin_settings_ui_theme.png create mode 100644 docs/my-website/img/admin_settings_ui_theme_logo.png diff --git a/docs/my-website/img/admin_settings_ui_theme.png b/docs/my-website/img/admin_settings_ui_theme.png new file mode 100644 index 0000000000000000000000000000000000000000..81e6d761e17766ce15a3d6412768b6feb19a97f4 GIT binary patch literal 14871 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 Yy=#bw@aGOKIR+r`boFyt=akR{0GzM;D*ylh literal 0 HcmV?d00001 From 28545966f54dd5a0409d25f5dd2c7a9cb0803d28 Mon Sep 17 00:00:00 2001 From: Teddy Amkie Date: Fri, 5 Sep 2025 14:37:56 -0700 Subject: [PATCH 4/5] docs: update access control and load balancing documentation --- docs/my-website/docs/proxy/access_control.md | 2 +- docs/my-website/docs/proxy/load_balancing.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/my-website/docs/proxy/access_control.md b/docs/my-website/docs/proxy/access_control.md index 69b8a3ff6d..4ca3eb119d 100644 --- a/docs/my-website/docs/proxy/access_control.md +++ b/docs/my-website/docs/proxy/access_control.md @@ -4,7 +4,7 @@ Role-based access control (RBAC) is based on Organizations, Teams and Internal U - `Organizations` are the top-level entities that contain Teams. - `Team` - A Team is a collection of multiple `Internal Users` -- `Internal Users` - users that can create keys, make LLM API calls, view usage on LiteLLM +- `Internal Users` - users that can create keys, make LLM API calls, view usage on LiteLLM. Users can be on multiple teams. - `Roles` define the permissions of an `Internal User` - `Virtual Keys` - Keys are used for authentication to the LiteLLM API. Keys are tied to a `Internal User` and `Team` diff --git a/docs/my-website/docs/proxy/load_balancing.md b/docs/my-website/docs/proxy/load_balancing.md index 2d8f73a13e..8bfaf4add5 100644 --- a/docs/my-website/docs/proxy/load_balancing.md +++ b/docs/my-website/docs/proxy/load_balancing.md @@ -123,9 +123,8 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \ ] }' ``` - - + ### Test - Loadbalancing From 3268f1cac6dca8c69278789be3cbacf046510367 Mon Sep 17 00:00:00 2001 From: berri-teddy Date: Sat, 6 Sep 2025 15:20:40 -0700 Subject: [PATCH 5/5] fix: correct tabs in load_balancing.md --- docs/my-website/docs/proxy/load_balancing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/my-website/docs/proxy/load_balancing.md b/docs/my-website/docs/proxy/load_balancing.md index 8bfaf4add5..bcbc4e9365 100644 --- a/docs/my-website/docs/proxy/load_balancing.md +++ b/docs/my-website/docs/proxy/load_balancing.md @@ -125,7 +125,7 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \ ``` - + ### Test - Loadbalancing In this request, the following will occur: