Implementation:BerriAI Litellm Email Alert Endpoints
| Attribute | Value |
|---|---|
| Sources | enterprise/litellm_enterprise/enterprise_callbacks/send_emails/endpoints.py |
| Domains | Email, REST API, Management Endpoints, Enterprise |
| Last Updated | 2026-02-15 16:00 GMT |
Overview
This module defines FastAPI endpoints for retrieving, updating, and resetting email alert event settings stored in the LiteLLM proxy database general_settings.
Description
The module provides three endpoints for managing which email events trigger notifications:
- GET /email/event_settings -- Retrieves all email event settings, returning each
EmailEventwith its enabled/disabled status. - PATCH /email/event_settings -- Updates specific email event settings by providing a list of event/enabled pairs.
- POST /email/event_settings/reset -- Resets all email event settings to their defaults (all events enabled).
Email settings are stored within the general_settings entry of the litellm_config database table under the email_settings key. The module uses two helper functions:
_get_email_settings-- Reads settings from the database, merging with defaults fromDefaultEmailSettings._save_email_settings-- Persists settings to the database via upsert intogeneral_settings.
All endpoints require user_api_key_auth authentication.
Usage
Mount the router on the LiteLLM proxy FastAPI application to provide administrative control over email alert preferences.
Code Reference
Source Location
enterprise/litellm_enterprise/enterprise_callbacks/send_emails/endpoints.py
Signature
router = APIRouter()
@router.get("/email/event_settings", response_model=EmailEventSettingsResponse)
async def get_email_event_settings(
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
): ...
@router.patch("/email/event_settings")
async def update_event_settings(
request: EmailEventSettingsUpdateRequest,
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
): ...
@router.post("/email/event_settings/reset")
async def reset_event_settings(
user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),
): ...
Import
from litellm_enterprise.enterprise_callbacks.send_emails.endpoints import router
I/O Contract
Inputs
| Endpoint | Parameter | Type | Description |
|---|---|---|---|
| PATCH /email/event_settings | request |
EmailEventSettingsUpdateRequest |
List of EmailEventSettings (event + enabled boolean).
|
| POST /email/event_settings/reset | -- | -- | No request body required. |
Outputs
| Endpoint | Response Type | Description |
|---|---|---|
| GET /email/event_settings | EmailEventSettingsResponse |
List of all events with their enabled status. |
| PATCH /email/event_settings | dict |
{"message": "Email event settings updated successfully"}
|
| POST /email/event_settings/reset | dict |
{"message": "Email event settings reset to defaults"}
|
Usage Examples
import httpx
# Get current email settings
response = httpx.get(
"http://localhost:4000/email/event_settings",
headers={"Authorization": "Bearer sk-..."},
)
# Disable virtual key created emails
response = httpx.patch(
"http://localhost:4000/email/event_settings",
json={
"settings": [
{"event": "Virtual Key Created", "enabled": False}
]
},
headers={"Authorization": "Bearer sk-..."},
)
# Reset all to defaults
response = httpx.post(
"http://localhost:4000/email/event_settings/reset",
headers={"Authorization": "Bearer sk-..."},
)
Related Pages
- BerriAI_Litellm_Base_Email_Alerting -- Base class for email alert sending
- BerriAI_Litellm_Email_Alert_Types -- Pydantic types used by these endpoints