Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:BerriAI Litellm Email Alert Endpoints

From Leeroopedia
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 EmailEvent with 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 from DefaultEmailSettings.
  • _save_email_settings -- Persists settings to the database via upsert into general_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

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment