litellm/litellm
Mrunmayee Daware 07f72a67b1
fix(proxy): authorize the public name of a team-scoped model on batch retrieve/cancel (#47067)
* fix(proxy): authorize the public name of a team-scoped model on batch retrieve/cancel

A unified batch id resolves to the deployment's internal model_name
(model_name_{team_id}_{uuid}), which is in no key or team allowlist, so
authorize_model_for_key always denied and team keys got 403 retrieving or
cancelling their own batches. Authorize against model_info
team_public_model_name when the resolved deployment is team-scoped, falling
back to the resolved name otherwise.

Fixes #46958

* fix(proxy): authorize team-scoped batch models by their public name on both auth paths

* fix(proxy): accept the owning team's public name for its own team deployment on every auth path

Managed batch, file, fine-tuning, vector store, character and video ids resolve to the
team deployment's internal name again, so teams that granted the internal name keep access.
The model access check now also accepts the owning team's public name and its legacy team
aliases for that internal name, and only when the caller's team owns the deployment.

* fix(proxy): match a team deployment's public and alias names against the caller's own grants

---------

Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
(cherry picked from commit e979bd0ecf)
2026-10-19 22:45:17 -07:00
..
_v2 feat(cache): select Rust caching through explicit cache objects (#43601) 2026-09-29 00:01:44 +00:00
a2a_protocol refactor(llms): expose public names for private provider helpers (#45037) 2026-10-07 08:49:25 -07:00
anthropic_interface fix(proxy): send a real error event when a /v1/messages stream fails (#41826) 2026-09-25 15:36:35 -07:00
assistants refactor(types): replace Any with proven types in 157 files (#44798) 2026-10-06 15:31:54 +00:00
batch_completion
batches refactor(proxy): expose public names for private proxy helpers (#45170) 2026-10-07 18:59:27 -07:00
caching fix(caching): backport #45784 and #46488 to rc/1.106.0 (#47006) 2026-10-16 15:34:17 -07:00
chat_completions refactor(python-bridge): ship a signature base and read the resolved call (#45450) 2026-10-08 17:20:29 -07:00
completion_extras fix(responses): fold bridged Responses output into one chat choice (#46099) 2026-10-19 22:27:55 -07:00
compression refactor(llms): expose public names for private provider helpers (#45037) 2026-10-07 08:49:25 -07:00
containers refactor: expose core private helpers under public names (#44871) 2026-10-07 00:05:27 +00:00
decisions feat(typesafe): support Jev 1.14 images, box questions, and long-context headers (#46596) 2026-10-15 06:32:44 +00:00
embeddings refactor(python-bridge): ship a signature base and read the resolved call (#45450) 2026-10-08 17:20:29 -07:00
endpoints/speech/speech_to_completion_bridge
evals
experimental_mcp_client feat(mcp): translate input requests and bind continuations (#45464) 2026-10-08 20:10:10 -07:00
files refactor: expose core private helpers under public names (#44871) 2026-10-07 00:05:27 +00:00
fine_tuning
google_genai refactor(proxy): expose public names for private proxy helpers (#45170) 2026-10-07 18:59:27 -07:00
harness refactor(types): replace Any with proven types in 16 files (#45029) 2026-10-07 04:31:51 -07:00
images refactor: expose public hidden_params accessors (#44668) 2026-10-07 00:01:33 -07:00
integrations feat(guardrails): split logging_only_scope direction from input-failure policy (#45709) (#45782) 2026-10-10 09:18:14 -07:00
interactions refactor(llms): expose public names for private provider helpers (#45037) 2026-10-07 08:49:25 -07:00
litellm_core_utils fix(anthropic): keep signed empty thinking blocks and honor thinking.block_binding (#46342) 2026-10-19 22:42:04 -07:00
llms fix(anthropic): keep signed empty thinking blocks and honor thinking.block_binding (#46342) 2026-10-19 22:42:04 -07:00
messages refactor(python-bridge): ship a signature base and read the resolved call (#45450) 2026-10-08 17:20:29 -07:00
models feat(credentials): add display_name and make credential_name immutable on PATCH (#43148) 2026-10-08 23:49:56 -07:00
ocr refactor(python-bridge): ship a signature base and read the resolved call (#45450) 2026-10-08 17:20:29 -07:00
passthrough refactor(llms): expose public names for private provider helpers (#45037) 2026-10-07 08:49:25 -07:00
proxy fix(proxy): authorize the public name of a team-scoped model on batch retrieve/cancel (#47067) 2026-10-19 22:45:17 -07:00
proxy_auth refactor(types): replace Any with real types across 29 more backend files 2026-09-08 10:14:07 +00:00
rag perf(types): defer pydantic schema builds via shared LiteLLMBaseModel (#44720) 2026-10-05 22:10:08 -07:00
realtime_api fix(vertex_ai): dial the multi-region Live API host for realtime sessions (#45166) 2026-10-07 17:39:38 -07:00
repositories feat(credentials): add display_name and make credential_name immutable on PATCH (#43148) 2026-10-08 23:49:56 -07:00
rerank_api feat(lint): add LIT013 flagging *-ok suppressions that suppress nothing and remove the 240 stale ones (#42793) 2026-09-23 17:50:09 -07:00
responses refactor(python-bridge): ship a signature base and read the resolved call (#45450) 2026-10-08 17:20:29 -07:00
router_strategy feat(ui): backport decision auto-router setup to 1.106 (#45916) 2026-10-10 22:35:10 -07:00
router_utils feat(ui): backport decision auto-router setup to 1.106 (#45916) 2026-10-10 22:35:10 -07:00
rust_bridge refactor(sdk): separate core AWS and tokenizer dependencies (#44447) 2026-10-08 19:07:57 -07:00
sandbox feat: add litellm.agent() to run claude code, codex, opencode and deep agents through the ai gateway (#43885) 2026-10-01 22:27:49 +00:00
search refactor(types): replace Any with proven types in 157 files (#44798) 2026-10-06 15:31:54 +00:00
secret_managers refactor(sdk): separate core AWS and tokenizer dependencies (#44447) 2026-10-08 19:07:57 -07:00
skills feat(skills): semantic search over the LiteLLM-hosted skill registry (#39401) 2026-09-07 12:28:38 -07:00
systemone feat(typesafe): support Jev 1.14 images, box questions, and long-context headers (#46596) 2026-10-15 06:32:44 +00:00
tracing feat(lens): show end-user feedback on traces, stored in ClickHouse (#45171) 2026-10-07 20:14:30 -07:00
types fix(anthropic): keep signed empty thinking blocks and honor thinking.block_binding (#46342) 2026-10-19 22:42:04 -07:00
vector_store_files refactor(types): replace Any with real types across 54 more backend files 2026-09-08 12:41:07 +00:00
vector_stores fix(vector-stores): keep proxy context out of provider vector store metadata (#47021) 2026-10-19 22:43:02 -07:00
videos refactor(types): replace Any with proven types in 157 files (#44798) 2026-10-06 15:31:54 +00:00
__init__.py feat(typesafe): support Jev 1.14 images, box questions, and long-context headers (#46596) 2026-10-15 06:32:44 +00:00
_internal_context.py fix(otel): nest cache spans under their operation and name service spans by purpose (#44150) 2026-10-03 09:20:27 -07:00
_lazy_imports.py refactor: expose core private helpers under public names (#44871) 2026-10-07 00:05:27 +00:00
_lazy_imports_registry.py feat(typesafe): support Jev 1.14 images, box questions, and long-context headers (#46596) 2026-10-15 06:32:44 +00:00
_logging.py refactor: expose core private helpers under public names (#44871) 2026-10-07 00:05:27 +00:00
_redis.py refactor: expose core private helpers under public names (#44871) 2026-10-07 00:05:27 +00:00
_redis_credential_provider.py refactor: expose core private helpers under public names (#44871) 2026-10-07 00:05:27 +00:00
_service_logger.py fix(otel): nest cache spans under their operation and name service spans by purpose (#44150) 2026-10-03 09:20:27 -07:00
_uuid.py
_version.py feat(sdk): build core from an independent packaging manifest (#44340) 2026-10-08 18:40:14 -07:00
anthropic_beta_headers_config.json fix(vertex_ai): forward the inline-tools-2026-09-15 beta to Vertex and Anthropic (#45297) 2026-10-08 12:27:52 -07:00
anthropic_beta_headers_manager.py refactor(types): move SpanAttributes, SpecialHeaders and AllowedModelRegion out of proxy._types (#44717) 2026-10-05 21:40:13 -07:00
blog_posts.json
budget_manager.py
constants.py fix(vector-stores): keep proxy context out of provider vector store metadata (#47021) 2026-10-19 22:43:02 -07:00
cost.json
cost_calculator.py feat(sdk): add litellm.systemone and trim litellm.decisions to the OpenAI shape (#45846) 2026-10-10 16:32:22 -07:00
exceptions.py fix(exceptions): map upstream 402 to PaymentRequiredError and cool down 402 deployments (#44879) 2026-10-06 20:35:13 -07:00
main.py feat(decisions): accept decisions as a model mode alongside evaluation (#45474) 2026-10-15 06:21:36 +00:00
model_prices_and_context_window_backup.json feat(typesafe): support Jev 1.14 images, box questions, and long-context headers (#46596) 2026-10-15 06:32:44 +00:00
policy_templates_backup.json fix(packaging): keep wheel paths under Windows MAX_PATH for Store Python (#43903) 2026-09-30 22:20:36 +00:00
provider_endpoints_support_backup.json feat(voyage): rebrand to VoyageAI by MongoDB and route MongoDB keys to ai.mongodb.com (#41812) 2026-10-08 13:12:47 -07:00
py.typed
router.py feat(sdk): add litellm.systemone and trim litellm.decisions to the OpenAI shape (#45846) 2026-10-10 16:32:22 -07:00
scheduler.py fix(scheduler): remove a request's queue entry once it stops waiting (#43061) 2026-10-07 17:34:38 -07:00
setup_wizard.py fix(model_prices): correct Claude Sonnet 5.5 capabilities and provider keys (#43587) 2026-09-28 19:12:31 +00:00
timeout.py
tool_loop.py feat(sdk): add run_tool_loop and arun_tool_loop helpers (#44381) 2026-10-03 20:10:30 -07:00
utils.py feat(typesafe): support Jev 1.14 images, box questions, and long-context headers (#46596) 2026-10-15 06:32:44 +00:00