BerriAI/litellm · error · HTTPException
Only proxy admins can delete prompts
Error message
Only proxy admins can delete prompts
What it means
Authorization gate on prompt deletion: the caller's user_api_key_dict lacks the PROXY_ADMIN role, so deletion is refused before any lookup or removal happens.
Source
Thrown at litellm/proxy/prompts/prompt_endpoints.py:965
-H "Authorization: Bearer <your_api_key>"
```
Example Response:
```json
{
"message": "Prompt my_prompt_id deleted successfully"
}
```
"""
from litellm.proxy.prompts.prompt_registry import IN_MEMORY_PROMPT_REGISTRY
from litellm.proxy.proxy_server import prisma_client
# Only allow proxy admins to delete 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 delete prompts")
if prisma_client is None:
raise HTTPException(status_code=500, detail=CommonProxyErrors.db_not_connected_error.value)
try:
# Try to get prompt directly first
existing_prompt = IN_MEMORY_PROMPT_REGISTRY.get_prompt_by_id(prompt_id)
# If not found, try to find the latest version
if existing_prompt is None:
latest_prompt_id: Final = get_latest_version_prompt_id(
prompt_id=prompt_id,
all_prompt_ids=IN_MEMORY_PROMPT_REGISTRY.IN_MEMORY_PROMPTS,
)
existing_prompt = IN_MEMORY_PROMPT_REGISTRY.get_prompt_by_id(latest_prompt_id)
# Use the resolved prompt_id for deletion
prompt_id = latest_prompt_id
View on GitHub (pinned to 77b7c6c40c)
Solutions
- Use a proxy admin key to delete prompts.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/prompts/prompt_endpoints.py:965 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/fcce7081ee17c7b6.
Report an issue: GitHub.