🚀 API Endpoints
The following API endpoints are available.
⚙️ System
/api
Returns the basic status of the API server.
/api/system-info
Returns hardware and OS information about the host system.
View Response
/api/version
Checks installed version against remote GitHub version.
/api/releases
Fetches the latest release notes from GitHub.
View Response
{
"success": true,
"releases": [
{
"version": "2.1.15",
"name": "v2.1.15",
"published_at": "2025-11-21T11:00:57Z",
"days_ago": 4,
"is_prerelease": false,
"is_draft": false,
"html_url": "[https://github.com/fscorrupt/posterizarr/releases/tag/2.1.15](https://github.com/fscorrupt/posterizarr/releases/tag/2.1.15)",
"body": "## What's Changed\r\n* Fix missing assets in gallery..."
}
]
}
📊 Status & Monitoring
/api/status
Returns the current execution status of the script.
View Response
{
"running": false,
"manual_running": false,
"scheduler_running": false,
"scheduler_is_executing": false,
"last_logs": [
"[2025-11-25 16:34:18] [INFO] |L.33500| Finished, Total images created: 0",
"[2025-11-25 16:34:18] [INFO] |L.6718 | Text-size cache: hits='0', misses='0' (0%); magick_calls='0' in '0 ms'; est_saved='0h 0m 0s'",
"[2025-11-25 16:34:18] [INFO] |L.33561| Script execution time: 0h 4m 14s",
"[2025-11-25 16:34:20] [INFO] |L.6705 | Uptime Kuma webhook sent: Status=up, Msg=OK, Ping=254627"
],
"script_exists": true,
"config_exists": true,
"pid": null,
"current_mode": null,
"active_log": "Scriptlog.log",
"already_running_detected": false,
"running_file_exists": false,
"start_time": null
}
/api/scheduler/status
Details regarding the internal scheduler, next run times, and active jobs.
View Response
{
"success": true,
"enabled": true,
"running": true,
"is_executing": false,
"schedules": [
{
"time": "01:30",
"description": "30min before Kometa"
},
{
"time": "04:30",
"description": "30min before Kometa"
}
],
"timezone": "Europe/Berlin",
"last_run": "2025-11-25T16:30:00.002702",
"next_run": "2025-11-25T19:30:00+01:00",
"active_jobs": [
{
"id": "posterizarr_normal_6",
"name": "Posterizarr Normal Mode @ 19:30",
"next_run": "2025-11-25T19:30:00+01:00"
}
]
}
/api/runtime-history
Returns a full history of previous script executions.
View Response
{
"success": true,
"history": [
{
"id": 327,
"timestamp": "2025-11-25T16:30:03",
"mode": "scheduled",
"runtime_seconds": 254,
"runtime_formatted": "0h 4m 14s",
"total_images": 0,
"posters": 0,
"seasons": 0,
"backgrounds": 0,
"titlecards": 0,
"collections": 0,
"errors": 0,
"status": "completed"
}
],
"count": 50,
"total": 327,
"limit": 50,
"offset": 0,
"mode_filter": null
}
/api/runtime-history?limit=10
Returns a limited history of previous script executions.
View Response
🔧 Configuration
/api/config
Returns the full configuration.
Security Note
Sensitive keys (API Tokens, Passwords, Webhooks) have been redacted in the example below.
View Response
{
"success": true,
"config": {
"tvdbapi": "<REDACTED>",
"tmdbtoken": "<REDACTED>",
"FanartTvAPIKey": "<REDACTED>",
"PlexToken": "<REDACTED>",
"JellyfinAPIKey": "<REDACTED>",
"EmbyAPIKey": "<REDACTED>",
"FavProvider": "tmdb",
"PreferredLanguageOrder": [
"xx",
"en",
"de"
],
"PlexUrl": "http://plex:32400",
"UsePlex": "true",
"JellyfinUrl": "http://jellyfin:8096",
"UseJellyfin": "false",
"EmbyUrl": "http://192.168.1.93:8096/emby",
"UseEmby": "false",
"SendNotification": "true",
"AppriseUrl": "<REDACTED>",
"UptimeKumaUrl": "<REDACTED>",
"AssetPath": "/assets",
"logLevel": "2",
"basicAuthEnabled": "false",
"basicAuthUsername": "admin",
"basicAuthPassword": "<REDACTED>"
},
"ui_groups": {
"WebUI Settings": [
"basicAuthEnabled",
"basicAuthUsername",
"basicAuthPassword"
]
},
"display_names": {
"tvdbapi": "TVDB API Key",
"tmdbtoken": "TMDB API Token"
},
"tooltips": {},
"using_flat_structure": true
}
📁 Assets & File Management
/api/assets/overview
Returns a categorized overview of assets (missing, non-primary language, etc.).
View Response
{
"categories": {
"missing_assets": {
"count": 0,
"assets": []
},
"non_primary_lang": {
"count": 13,
"assets": [
{
"id": 54766,
"Title": "Jurassic World: Die Chaostheorie | Season 2",
"Type": "Season",
"Rootfolder": "Jurassic World - Chaos Theory (2024) [tvdb-440997]",
"LibraryName": "Kids Shows",
"Language": "en",
"has_poster": true
}
]
},
"resolved": {
"count": 34,
"assets": [
{
"id": 53663,
"Title": "S01E01 | WILLKOMMEN IN PARADISE",
"Type": "Episode",
"LibraryName": "TV Shows",
"Language": "Textless",
"has_poster": true
}
]
}
},
"config": {
"primary_language": "xx",
"primary_provider": "tmdb"
}
}
/api/assets/stats
Returns storage usage and file counts per library folder.
View Response
{
"success": true,
"stats": {
"posters": 2313,
"backgrounds": 0,
"seasons": 2179,
"titlecards": 34425,
"total_size": 83481927747,
"folders": [
{
"name": "Anime Shows",
"path": "Anime Shows",
"poster_count": 355,
"files": 16519,
"size": 31830640233
},
{
"name": "TV Shows",
"path": "TV Shows",
"poster_count": 382,
"files": 13795,
"size": 32606586825
}
]
}
}
/api/assets-folders
Returns a specific list of asset folders and their counts.
View Response
/api/manual-assets-gallery
Returns a structure for the manual asset selector UI.
View Response
{
"libraries": [
{
"name": "4K TV Shows",
"folders": [
{
"name": "Dexter - Original Sin (2024) [tvdb-430780]",
"path": "4K TV Shows/Dexter - Original Sin (2024) [tvdb-430780]",
"assets": [
{
"name": "poster.jpg",
"path": "4K TV Shows/Dexter - Original Sin (2024) [tvdb-430780]/poster.jpg",
"type": "poster",
"url": "/manual_poster_assets/4K%20TV%20Shows/Dexter%20-%20Original%20Sin%20%282024%29%20%5Btvdb-430780%5D/poster.jpg"
}
],
"asset_count": 1
}
],
"folder_count": 3
}
],
"total_assets": 226
}
/api/overlayfiles
Lists available overlay image files and fonts.
View Response
/api/folder-view/browse
Browses the root folder structure of assets.
View Response
🎬 Plex Export
/api/plex-export/statistics
Statistics regarding the Plex library export CSVs.
View Response
/api/plex-export/runs
List of timestamps for previous Plex export runs.
View Response
🎞️ Other Media Export
/api/other-media-export/statistics
Statistics regarding non-Plex media exports.
View Response
/api/other-media-export/runs
List of timestamps for previous non-Plex export runs.
🖥️ Dashboard & Logs
/api/dashboard/all
A combined endpoint used to populate the main dashboard (Status + Version + System Info).
View Response
{
"success": true,
"status": {
"running": false,
"manual_running": false,
"scheduler_running": false,
"active_log": "Scriptlog.log"
},
"version": {
"local": "2.1.15",
"remote": "2.1.15",
"is_update_available": false
},
"scheduler_status": {
"enabled": true,
"next_run": "2025-11-25T19:30:00+01:00"
},
"system_info": {
"platform": "Linux",
"cpu_cores": 8,
"memory_percent": 15.0,
"is_docker": true
}
}
/api/logs
Lists available log files on the server.
View Response
🔔 Webhooks
/api/webhook/arr
Endpoint for Sonarr and Radarr On Import and On Upgrade webhooks. Converts the Arr JSON payload into a trigger file.
View Response
/api/webhook/tautulli
Endpoint for Tautulli notifications. Maps incoming JSON keys directly to script arguments.