Skip to content

Media Library Protection API

All endpoints use the normal DUMB authentication policy and are capability-gated by media_library_protection. Plex preference controls additionally require plex_library_settings.

Method Endpoint Purpose
GET /api/process/media-protection/status Active/recent incidents and global recovery timing. Optional process_name.
POST /api/process/media-protection/preflight Resolve affected media servers and current activity before stop, restart, update, or scheduled_update.
GET /api/process/media-protection/policy?process_name=... Read a redacted per-server policy.
PUT /api/process/media-protection/policy Save per-server enablement, dedicated API key, idle-stop behavior, or protected mounts.
PUT /api/process/media-protection/settings Save global enablement and recovery timing.
GET /api/process/media-protection/plex-library-settings Read the supported live Plex library preferences.
PUT /api/process/media-protection/plex-library-settings Update only the allowlisted Plex library preferences.

Lifecycle payloads for /stop-service, /restart-service, and /update-install accept protection_override with safe, keep_running, or stop_now. Omitting it uses safe. A blocked safe operation returns status: protection_required with the latest preflight rather than changing service state.

Dedicated Jellyfin/Emby keys are write-only. Policy responses contain an empty api_key and api_key_configured; a blank update preserves the stored key unless clear_api_key: true is supplied.