BerriAI/litellm · error · HTTPException

Only proxy admins can create prompts

Error message

Only proxy admins can create prompts

What it means

Authorization gate on prompt creation: the caller's user_api_key_dict does not have a PROXY_ADMIN role, so prompt writes are rejected before any registry or database mutation. Only proxy admins may create prompts.

Source

Thrown at litellm/proxy/prompts/prompt_endpoints.py:761

                "prompt_directory": "/path/to/dotprompt/folder",
                "prompt_data": {"json_prompt": {"content": "This is a prompt", "metadata": {"model": "gpt-4"}}}
            },
            "prompt_info": {
                "prompt_type": "config"
            }
        }'
    ```
    """

    from litellm.proxy.prompts.prompt_registry import IN_MEMORY_PROMPT_REGISTRY
    from litellm.proxy.proxy_server import prisma_client

    # Only allow proxy admins to create prompts
    if user_api_key_dict.user_role is None or (
        user_api_key_dict.user_role != LitellmUserRoles.PROXY_ADMIN
        and user_api_key_dict.user_role != LitellmUserRoles.PROXY_ADMIN.value
    ):
        raise HTTPException(status_code=403, detail="Only proxy admins can create prompts")

    if prisma_client is None:
        raise HTTPException(status_code=500, detail=CommonProxyErrors.db_not_connected_error.value)

    try:
        # Extract environment from request
        environment: Final = (
            request.prompt_info.environment
            if request.prompt_info and request.prompt_info.environment
            else "development"
        )

        # Get next version number
        new_version: Final = await get_next_version_for_prompt(
            prisma_client=prisma_client,
            prompt_id=request.prompt_id,
            environment=environment,
        )

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a proxy admin key to create prompts.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/prompts/prompt_endpoints.py:761 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/765c573f9f212a0c. Report an issue: GitHub.