BerriAI/litellm · error · HTTPException
Managed resource not found.
Error message
Managed resource not found.
What it means
Hard 404 raised in _resolve_one when a decoded managed ID matches no row in either the stream table or the object table (batches/responses); unknown or forged IDs are never forwarded upstream as literal strings.
Source
Thrown at litellm/proxy/pass_through_endpoints/managed_id_rewriter.py:386
)
else:
# Object table (batches, responses)
if prisma_client is not None:
try:
obj_row: Final = await _object_table(prisma_client).find_first(where={"unified_object_id": managed_id})
if obj_row is not None:
row_created_by = obj_row.created_by
row_team_id = obj_row.team_id
found = True
except Exception:
verbose_proxy_logger.debug(
"managed_id_rewriter._resolve_one: object DB lookup failed",
exc_info=True,
)
# 3. Hard 404 for unknown / forged IDs — NEVER forward to upstream
if not found:
raise HTTPException(
status_code=404,
detail="Managed resource not found.",
)
# 4. Access check
if not can_access_resource(user_api_key_dict, row_created_by, row_team_id):
raise HTTPException(
status_code=403,
detail="Access denied to managed resource.",
)
return payload.raw_provider_id
async def _guard_raw_provider_id(
raw_id: str,
provider: str,
user_api_key_dict: UserAPIKeyAuth,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Verify the managed ID exists (list managed resources via the management API); it may have been deleted or expired.
- Mint a new managed ID if the resource was removed.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at litellm/proxy/pass_through_endpoints/managed_id_rewriter.py:386 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/09eee39bdc64d121.
Report an issue: GitHub.