BerriAI/litellm · error · HTTPException

The caller does not have access to this managed {resource_ki

Error message

The caller does not have access to this managed {resource_kind} id.

What it means

HTTPException raised after the managed-file access check returns False: the caller's key/user does not own (or lack team access to) the managed file/object id they referenced, while require_managed_files is enabled. The request is denied to prevent cross-tenant access to another team's resource.

Source

Thrown at litellm/proxy/openai_files_endpoints/common_utils.py:977

                f"{resource_kind} was created."
            ),
        )

    if not isinstance(managed_files_obj, ManagedResourceAccessChecker):
        raise HTTPException(
            status_code=500,
            detail="Managed resource ownership validation is unavailable.",
        )

    can_access: Final = (
        await managed_files_obj.can_user_call_unified_file_id(resource_id, user_api_key_dict)
        if resource_kind == "file"
        else await managed_files_obj.can_user_call_unified_object_id(resource_id, user_api_key_dict)
    )
    if can_access:
        return

    raise HTTPException(
        status_code=403,
        detail=f"The caller does not have access to this managed {resource_kind} id.",
    )


def _extract_model_param(request: "Request", request_body: dict) -> str | None:
    """
    Extract model parameter from request.

    Priority:
    1. request_body.model
    2. Query parameter (?model=)
    3. Header (x-litellm-model)
    """
    return request_body.get("model") or request.query_params.get("model") or request.headers.get("x-litellm-model")


# ============================================================================

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a managed resource id owned by your key/team/user, or ask an admin for access.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/openai_files_endpoints/common_utils.py:977 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/8b9bd6973a60ce00. Report an issue: GitHub.