The System API provides access to Tunarr’s operational internals: background task management, server health checks, system and FFmpeg settings, feature flags, and streaming configuration. These endpoints are especially useful for monitoring, automation, and integration with home-lab orchestration tools.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/chrisbenincasa/tunarr/llms.txt
Use this file to discover all available pages before exploring further.
Health Check
Runs all registered health checks and returns a structured report. Useful for liveness/readiness probes in Docker or Kubernetes deployments.200 — Record<string, HealthCheck> — map of check name → result.
true if the component is operating normally.Optional human-readable status description.
Server Version
Returns version information for Tunarr, FFmpeg, and Node.js.200 — version object:
Tunarr application version (e.g.
"1.2.0").Version string of the FFmpeg binary Tunarr is configured to use.
Node.js runtime version.
System State
Returns runtime environment flags—useful for detecting whether Tunarr is running inside a container.200:
true when Tunarr is running inside a Docker container.true when running inside Podman.true when running in any OCI container runtime.System Settings
Get System Settings
Returns the current system-wide configuration including logging, backup schedule, caching, and server options.200 — SystemSettingsResponse:
Active log level:
trace | debug | info | warn | error.When
true, the log level is determined by the LOG_LEVEL environment variable.Path on disk where log files are written.
Backup schedule and retention settings.
Caching configuration.
Absolute path to the Tunarr data/database directory.
Internal URL of the Meilisearch instance used for program search.
Update System Settings
Updates one or more system settings. Omitted fields retain their current values.Logging configuration:
logLevel(string) —trace|debug|info|warn|erroruseEnvVarLevel(boolean) — override level fromLOG_LEVELenv varcategoryLogLevel.scheduling(string) — per-category level for schedulingcategoryLogLevel.streaming(string) — per-category level for streaming
Backup schedule configuration (same shape as
BackupSettings).Cache settings.
Server settings (e.g. bind address, port).
200 — the updated SystemSettingsResponse.
Update Backup Settings
Updates only the backup-related portion of system settings.Enable or disable automated backups.
Cron expression for the backup schedule (e.g.
"0 3 * * *" for 3 AM daily).Maximum number of backup archives to retain before pruning old ones.
Directory path where backup archives are stored.
200 — updated BackupSettings object.
FFmpeg Settings
Get FFmpeg Settings
Returns the current FFmpeg transcoding configuration used as the global default.200 — FfmpegSettings object.
Absolute path to the
ffmpeg binary.Absolute path to the
ffprobe binary.Whether Tunarr extracts embedded subtitles for burn-in.
Update FFmpeg Settings
Replaces the global FFmpeg configuration.FfmpegSettings object. All fields present in the body replace the stored values.
Response 200 — the updated FfmpegSettings.
Response 500 — update failed.
Reset FFmpeg Settings
Resets FFmpeg configuration to built-in defaults while preserving the specified executable path.Path to the
ffmpeg binary to use after reset.200 — the reset FfmpegSettings.
Background Tasks
Tunarr runs a number of recurring background tasks—updating the EPG, scanning libraries, extracting subtitles, and more. The Tasks API lets you inspect the task registry and trigger any task on demand.List Tasks
Returns all registered tasks along with their scheduled execution metadata.200 — array of Task objects.
Task identifier (also used as the path parameter for triggering).
Human-readable task name.
Description of what the task does.
Active schedule entries for this task, each with:
running(boolean) — currently executinglastExecution(string) — ISO 8601 datetime of last runlastExecutionEpoch(number) — epoch seconds of last runnextExecution(string) — ISO 8601 datetime of next scheduled runnextExecutionEpoch(number) — epoch seconds of next run
Run a Task
Triggers a task to run immediately. By default the task runs in the background and the endpoint returns immediately with202 Accepted. Set background=false to wait for the result.
Task ID (from the
id field in List Tasks). Common task IDs:UpdateXmlTvTask— regenerates the XMLTV EPG fileBackupTask— creates a database backupCleanupTask— removes orphaned dataSubtitleExtractorTask— extracts embedded subtitle tracks
When
true (default), run the task asynchronously and return 202. When false, wait for completion and return 200 with the task result.{} or omit for tasks with no arguments).
Response 202 — task started in background.
Response 200 — task completed (only when background=false), response contains task output.
Response 400 — invalid task arguments.
Response 404 — task ID not found.
Feature Flags
Tunarr ships with experimental and configurable feature flags that can be toggled without a restart.Get Feature Flags
Returns the current state of all feature flags plus metadata.200 — GetFeatureFlagsResponse:
Map of flag key → boolean value.
Descriptor for each flag:
key, displayName, description, category, and envOverride (whether an environment variable forces this flag’s value).Update Feature Flags
Overrides one or more feature flag values.200 — updated GetFeatureFlagsResponse.
Media Source Settings
Global settings that apply to all media source integrations (e.g. rescan interval).Get Media Source Settings
200 — GlobalMediaSourceSettings:
How often Tunarr automatically rescans all enabled libraries, in hours. Default
6.Update Media Source Settings
New rescan interval in hours (minimum
0).200 — updated GlobalMediaSourceSettings.
FFmpeg Hardware Info
Returns the audio encoders, video encoders, and hardware acceleration types that the configured FFmpeg binary supports. Useful for determining which transcode settings are available on the host system.200:
List of supported audio encoders:
{ name, ffmpegName }.List of supported video encoders:
{ name, ffmpegName }.Hardware acceleration modes available: e.g.
["cuda", "vaapi", "videotoolbox"].Log Access
Stream Logs (SSE)
Opens a Server-Sent Events stream that tails the live Tunarr log file. Connect with an SSE client to receive log entries in real time.Format log output as human-readable text instead of raw JSON. Default
false.Return the log file as a downloadable attachment instead of a stream.
When
download=true, limit output to the last N lines.text/event-stream (SSE) when not downloading, text/plain attachment when download=true.
