🚀 API Endpoints
The following API endpoints are available.
Authentication:
- Option 1 (Recommended): Add ?api_key=YOUR_KEY to the URL.
- Option 2: Use the X-API-Key: YOUR_KEY header.
- Option 3: Use Basic Authentication (username/password).
- http://admin:posterizarr@YOUR_IP:8000/api/webhook/tautulli
⚙️ 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.
View Response
?? Authentication & Onboarding
/api/onboarding/complete
Submits data or triggers an action at /api/onboarding/complete.
/api/auth/check
Retrieves data from /api/auth/check.
/api/auth/keys
Retrieves data from /api/auth/keys.
/api/auth/keys
Submits data or triggers an action at /api/auth/keys.
/api/auth/keys/{key_id}
Deletes a resource at /api/auth/keys/{key_id}.
?? Connection Validation
/api/validate/plex
Submits data or triggers an action at /api/validate/plex.
/api/validate/jellyfin
Submits data or triggers an action at /api/validate/jellyfin.
/api/validate/emby
Submits data or triggers an action at /api/validate/emby.
/api/validate/tmdb
Submits data or triggers an action at /api/validate/tmdb.
/api/validate/tvdb
Submits data or triggers an action at /api/validate/tvdb.
/api/validate/fanart
Submits data or triggers an action at /api/validate/fanart.
/api/validate/discord
Submits data or triggers an action at /api/validate/discord.
/api/validate/apprise
Submits data or triggers an action at /api/validate/apprise.
/api/validate/uptimekuma
Submits data or triggers an action at /api/validate/uptimekuma.
/api/validate/agregarr
Validates the Agregarr URL and API key against its read-only Posterizarr integration status endpoint.
View Response
?? Library & Server Management
/api/plex/action
Submits data or triggers an action at /api/plex/action.
/api/jellyfin-emby/action
Submits data or triggers an action at /api/jellyfin-emby/action.
/api/libraries/{server_type}/cached
Retrieves data from /api/libraries/{server_type}/cached.
/api/libraries/{server_type}/exclusions
Submits data or triggers an action at /api/libraries/{server_type}/exclusions.
/api/libraries/plex
Submits data or triggers an action at /api/libraries/plex.
/api/libraries/jellyfin
Submits data or triggers an action at /api/libraries/jellyfin.
/api/libraries/emby
Submits data or triggers an action at /api/libraries/emby.
/api/libraries/plex/items
Submits data or triggers an action at /api/libraries/plex/items.
?? Script Execution & Control
/api/run/{mode}
Submits data or triggers an action at /api/run/{mode}.
/api/run-manual
Submits data or triggers an action at /api/run-manual.
/api/run-manual-upload
Submits data or triggers an action at /api/run-manual-upload.
/api/run-logoupdater
Submits data or triggers an action at /api/run-logoupdater.
/api/run-restore
Submits data or triggers an action at /api/run-restore.
/api/reset-posters
Submits data or triggers an action at /api/reset-posters.
/api/tmdb/search-posters
Submits data or triggers an action at /api/tmdb/search-posters.
/api/stop
Submits data or triggers an action at /api/stop.
/api/force-kill
Submits data or triggers an action at /api/force-kill.
??? Asset Galleries & Image Choices
/api/assets/skip
Adds the skip_posterizarr tag/label to the specified asset in the active media server and removes it from the Action Center.
Payload:
/api/gallery
Retrieves data from /api/gallery.
/api/gallery/{path:path}
Deletes a resource at /api/gallery/{path:path}.
/api/gallery/bulk-delete
Submits data or triggers an action at /api/gallery/bulk-delete.
/api/backgrounds-gallery
Retrieves data from /api/backgrounds-gallery.
/api/backgrounds/{path:path}
Deletes a resource at /api/backgrounds/{path:path}.
/api/backgrounds/bulk-delete
Submits data or triggers an action at /api/backgrounds/bulk-delete.
/api/seasons-gallery
Retrieves data from /api/seasons-gallery.
/api/seasons/{path:path}
Deletes a resource at /api/seasons/{path:path}.
/api/seasons/bulk-delete
Submits data or triggers an action at /api/seasons/bulk-delete.
/api/titlecards-gallery
Retrieves data from /api/titlecards-gallery.
/api/titlecards/{path:path}
Deletes a resource at /api/titlecards/{path:path}.
/api/titlecards/bulk-delete
Submits data or triggers an action at /api/titlecards/bulk-delete.
/api/manual-assets/{path:path}
Deletes a resource at /api/manual-assets/{path:path}.
/api/manual-assets/bulk-delete
Submits data or triggers an action at /api/manual-assets/bulk-delete.
/api/backup-assets-gallery
Retrieves data from /api/backup-assets-gallery.
/api/backup-assets/{path:path}
Deletes a resource at /api/backup-assets/{path:path}.
/api/backup-assets/bulk-delete
Submits data or triggers an action at /api/backup-assets/bulk-delete.
/api/thumbnail
Retrieves data from /api/thumbnail.
/api/assets-folder-images/{image_type}/{folder_path:path}
Retrieves data from /api/assets-folder-images/{image_type}/{folder_path:path}.
/api/recent-assets
Retrieves data from /api/recent-assets.
/api/asset-type-lookup
Retrieves data from /api/asset-type-lookup.
/api/test-gallery
Retrieves data from /api/test-gallery.
/api/imagechoices
Retrieves data from /api/imagechoices.
/api/imagechoices
Submits data or triggers an action at /api/imagechoices.
/api/imagechoices/{title}
Retrieves data from /api/imagechoices/{title}.
/api/imagechoices/{record_id}
Updates a resource at /api/imagechoices/{record_id}.
/api/imagechoices/{record_id}
Deletes a resource at /api/imagechoices/{record_id}.
/api/imagechoices/{record_id}/find-asset
Retrieves data from /api/imagechoices/{record_id}/find-asset.
/api/imagechoices/import
Submits data or triggers an action at /api/imagechoices/import.
?? Assets Replacement & Operations
/api/assets/fetch-replacements
Submits data or triggers an action at /api/assets/fetch-replacements.
/api/assets/upload-replacement
Submits data or triggers an action at /api/assets/upload-replacement.
/api/assets/replace-from-url
Submits data or triggers an action at /api/assets/replace-from-url.
/api/assets/delete-asset/{record_id}
Deletes a resource at /api/assets/delete-asset/{record_id}.
/api/assets/bulk-delete-assets
Submits data or triggers an action at /api/assets/bulk-delete-assets.
/api/refresh-cache
Submits data or triggers an action at /api/refresh-cache.
/api/cache/status
Retrieves data from /api/cache/status.
?? Scheduler & Queue Management
/api/scheduler/config
Retrieves data from /api/scheduler/config.
/api/scheduler/config
Submits data or triggers an action at /api/scheduler/config.
/api/scheduler/schedule
Submits data or triggers an action at /api/scheduler/schedule.
/api/scheduler/schedule/{time}
Deletes a resource at /api/scheduler/schedule/{time}.
/api/scheduler/schedules
Deletes a resource at /api/scheduler/schedules.
/api/scheduler/enable
Submits data or triggers an action at /api/scheduler/enable.
/api/scheduler/disable
Submits data or triggers an action at /api/scheduler/disable.
/api/scheduler/restart
Submits data or triggers an action at /api/scheduler/restart.
/api/scheduler/run-now
Submits data or triggers an action at /api/scheduler/run-now.
/api/queue
Retrieves data from /api/queue.
/api/queue/{item_id}
Deletes a resource at /api/queue/{item_id}.
/api/queue/clear
Submits data or triggers an action at /api/queue/clear.
/api/queue/run
Submits data or triggers an action at /api/queue/run.
/api/queue/delete
Submits data or triggers an action at /api/queue/delete.
??? Fonts & Overlay Creator
/api/overlayfiles/upload
Submits data or triggers an action at /api/overlayfiles/upload.
/api/overlayfiles/{filename}
Deletes a resource at /api/overlayfiles/{filename}.
/api/overlayfiles/preview/{filename}
Retrieves data from /api/overlayfiles/preview/{filename}.
/api/fonts
Retrieves data from /api/fonts.
/api/fonts/upload
Submits data or triggers an action at /api/fonts/upload.
/api/fonts/{filename}
Deletes a resource at /api/fonts/{filename}.
/api/fonts/download/{filename}
Retrieves data from /api/fonts/download/{filename}.
/api/fonts/preview/{filename}
Retrieves data from /api/fonts/preview/{filename}.
/api/overlay-creator/preview
Submits data or triggers an action at /api/overlay-creator/preview.
/api/overlay-creator/save
Submits data or triggers an action at /api/overlay-creator/save.
?? Runtime History & Exports Additional
/api/runtime-stats
Retrieves data from /api/runtime-stats.
/api/runtime-summary
Retrieves data from /api/runtime-summary.
/api/runtime-history/cleanup
Deletes a resource at /api/runtime-history/cleanup.
/api/runtime-history/migrate
Submits data or triggers an action at /api/runtime-history/migrate.
/api/runtime-history/migration-status
Retrieves data from /api/runtime-history/migration-status.
/api/runtime-history/migrate-format
Submits data or triggers an action at /api/runtime-history/migrate-format.
/api/runtime-history/import-json
Submits data or triggers an action at /api/runtime-history/import-json.
/api/plex-export/library
Retrieves data from /api/plex-export/library.
/api/plex-export/episodes
Retrieves data from /api/plex-export/episodes.
/api/plex-export/import
Submits data or triggers an action at /api/plex-export/import.
/api/other-media-export/library
Retrieves data from /api/other-media-export/library.
/api/other-media-export/episodes
Retrieves data from /api/other-media-export/episodes.
/api/other-media-export/import
Submits data or triggers an action at /api/other-media-export/import.
?? Additional Configuration & Database
/api/config/backup
Submits data or triggers an action at /api/config/backup.
/api/config/export
Retrieves data from /api/config/export.
/api/config/import
Submits data or triggers an action at /api/config/import.
/api/custom-blueprints
Retrieves data from /api/custom-blueprints.
/api/custom-blueprints
Submits data or triggers an action at /api/custom-blueprints.
/api/config-db/status
Retrieves data from /api/config-db/status.
/api/config-db/section/{section}
Retrieves data from /api/config-db/section/{section}.
/api/config-db/value/{section}/{key}
Retrieves data from /api/config-db/value/{section}/{key}.
/api/config-db/sync
Submits data or triggers an action at /api/config-db/sync.
/api/config-db/export
Retrieves data from /api/config-db/export.
/api/webui-settings
Retrieves data from /api/webui-settings.
/api/webui-settings
Submits data or triggers an action at /api/webui-settings.
?? Logs, Diagnostics & Misc
/api/logs/ui
Submits data or triggers an action at /api/logs/ui.
/api/logs/ui/batch
Submits data or triggers an action at /api/logs/ui/batch.
/api/logs/{log_name}
Retrieves data from /api/logs/{log_name}.
/api/logs/{log_name}/exists
Retrieves data from /api/logs/{log_name}/exists.
/api/logs/ui/unified
Retrieves data from /api/logs/ui/unified.
/api/upload-diagnostics
Retrieves data from /api/upload-diagnostics.
/api/admin/support-zip
Submits data or triggers an action at /api/admin/support-zip.
/api/logs-watcher/status
Retrieves data from /api/logs-watcher/status.
/api/analytics/providers
Retrieves data from /api/analytics/providers.
/api/running-file
Deletes a resource at /api/running-file.
/api/version-ui
Retrieves data from /api/version-ui.
🎨 Creator Mode & Collections
GET /api/collections/presets
Get collection presets from the configuration database.
View Response
POST /api/collections/presets
Save collection presets to the configuration database.
POST /api/collections/save
Save the generated collection poster locally in the Assets directory.
POST /api/collections/upload-to-server
Upload a poster directly to the connected Media Server (Plex, Jellyfin, Emby).
POST /api/media-server/collections
Fetch collections directly from the configured media server.
GET /api/studio-logos
Get the list of available studio logos from the GitHub repository, caching them locally.
GET /api/studio-logos/image/{filename}
Serve a specific studio logo image from the local cache.
POST /api/collections/search
Search TMDB for collections by name or ID (e.g. tmdb:12345).
POST /api/media/logos
Search TMDB for media (movies or TV shows) and retrieve their logos.
GET /api/proxy-image
Proxy external images (like TMDB/Fanart) to avoid CORS issues on the frontend canvas.
GET /api/assets/folders
Get folders from the assets directory. If library_name is provided, returns all media folders within that library; otherwise returns all top-level library directories.
View Response
GET /api/assets/skipped
Retrieve all skipped items detected during runs, including item title, library, skip reason, and resolution status.
POST /api/assets/skipped/refresh
Forces a re-scan of log files to refresh and update the list of skipped assets.
POST /api/assets/unskip
Marks a skipped item as unskipped or resolved so it can be reprocessed on the next run.
GET /api/proxy/poster
Proxies local or remote poster images to provide secure previews and avoid CORS restrictions.
POST /api/media-server/items
Fetch paginated items from a connected media server (Plex, Jellyfin, Emby) with clearLogo presence detection and proxied image URLs.
View Request
POST /api/media-server/check-logos
Batch checks a list of item IDs (rating_keys) against Plex to verify which items already have clearLogo artwork.
GET /api/media-server/image
Securely proxies image streams directly from Plex, Jellyfin, or Emby servers without exposing authentication tokens in frontend image URLs.
POST /api/media-server/upload-logo
Downloads a selected logo (from URL or data URI), applies Posterizarr metadata tags using Pillow/ImageMagick, and uploads it directly to the media server as a clearLogo.