From 7b9bc8aab2ac0fd41894212c85bb7591a8b1fd9b Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Sat, 11 Jul 2026 23:58:26 -0500 Subject: [PATCH] feat(templates): add radarr/sonarr templates for Ruddarr Ruddarr (https://github.com/ruddarr/app) is a native iOS/macOS companion app for Radarr and Sonarr with no starrproxy template today; operators currently register it against lunasea.json as a workaround, which grants endpoints Ruddarr never calls (mediacover, importlist exclusions, wanted/ missing, credit, language) and omits some it does need (notification CRUD for its push-notification webhook, episodefile/bulk delete). Endpoint scope is derived from the app's own network layer (Ruddarr/Dependencies/API/API+Live.swift in ruddarr/app), not copied from lunasea, so it grants exactly what Ruddarr calls: movie/series CRUD + lookup + editor, release search/grab, queue, history, calendar, manual import, root folders/quality profiles/tags/diskspace/system status, and notification management for its webhook sync. Ruddarr fetches poster art via each release's remoteURL rather than the arr's own mediacover proxy, so mediacover is intentionally not granted. Adds README entry alphabetically between Recyclarr and Seerr. --- README.md | 1 + .../www/public/templates/radarr/ruddarr.json | 73 ++++++++++++++++++ .../www/public/templates/sonarr/ruddarr.json | 77 +++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 root/app/www/public/templates/radarr/ruddarr.json create mode 100644 root/app/www/public/templates/sonarr/ruddarr.json diff --git a/README.md b/README.md index 71cfcc3..cf67e05 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ There are some pre-built templates that enable just the api access the app actua - Prowlarr - Qui\* - Recyclarr\* +- Ruddarr - Seerr\* - TitleCardMaker - Unmanic diff --git a/root/app/www/public/templates/radarr/ruddarr.json b/root/app/www/public/templates/radarr/ruddarr.json new file mode 100644 index 0000000..974cf04 --- /dev/null +++ b/root/app/www/public/templates/radarr/ruddarr.json @@ -0,0 +1,73 @@ +{ + "/api/v3/calendar": [ + "get" + ], + "/api/v3/command": [ + "post" + ], + "/api/v3/diskspace": [ + "get" + ], + "/api/v3/extrafile": [ + "get" + ], + "/api/v3/history": [ + "get" + ], + "/api/v3/history/movie": [ + "get" + ], + "/api/v3/manualimport": [ + "get" + ], + "/api/v3/movie": [ + "get", + "post" + ], + "/api/v3/movie/{id}": [ + "get", + "delete" + ], + "/api/v3/movie/editor": [ + "put" + ], + "/api/v3/movie/lookup": [ + "get" + ], + "/api/v3/moviefile": [ + "get" + ], + "/api/v3/moviefile/{id}": [ + "delete" + ], + "/api/v3/notification": [ + "get", + "post" + ], + "/api/v3/notification/{id}": [ + "put", + "delete" + ], + "/api/v3/qualityprofile": [ + "get" + ], + "/api/v3/queue": [ + "get" + ], + "/api/v3/queue/{id}": [ + "delete" + ], + "/api/v3/release": [ + "get", + "post" + ], + "/api/v3/rootfolder": [ + "get" + ], + "/api/v3/system/status": [ + "get" + ], + "/api/v3/tag": [ + "get" + ] +} diff --git a/root/app/www/public/templates/sonarr/ruddarr.json b/root/app/www/public/templates/sonarr/ruddarr.json new file mode 100644 index 0000000..2f48ea3 --- /dev/null +++ b/root/app/www/public/templates/sonarr/ruddarr.json @@ -0,0 +1,77 @@ +{ + "/api/v3/calendar": [ + "get" + ], + "/api/v3/command": [ + "post" + ], + "/api/v3/diskspace": [ + "get" + ], + "/api/v3/episode": [ + "get" + ], + "/api/v3/episode/monitor": [ + "put" + ], + "/api/v3/episodefile": [ + "get" + ], + "/api/v3/episodefile/{id}": [ + "delete" + ], + "/api/v3/episodefile/bulk": [ + "delete" + ], + "/api/v3/history": [ + "get" + ], + "/api/v3/manualimport": [ + "get" + ], + "/api/v3/notification": [ + "get", + "post" + ], + "/api/v3/notification/{id}": [ + "put", + "delete" + ], + "/api/v3/qualityprofile": [ + "get" + ], + "/api/v3/queue": [ + "get" + ], + "/api/v3/queue/{id}": [ + "delete" + ], + "/api/v3/release": [ + "get", + "post" + ], + "/api/v3/rootfolder": [ + "get" + ], + "/api/v3/series": [ + "get", + "post" + ], + "/api/v3/series/{id}": [ + "get", + "put", + "delete" + ], + "/api/v3/series/editor": [ + "put" + ], + "/api/v3/series/lookup": [ + "get" + ], + "/api/v3/system/status": [ + "get" + ], + "/api/v3/tag": [ + "get" + ] +}