A Jellyfin plugin that lets users request media and admins manage those requests through a full lifecycle.
This plugin is a rewriting of K3ntas/jellyfin-plugin-ratings focusing solely on the request system.
I'm a gamedev, not a web dev. This plugin is entirely vibe-coded. Efforts are made to ensure the high level logic is sound, and i use it on my homelab setup. It works reliably for me, but the code may not follow best practices convention regarding Jellyfin plugins or the web in general. Issues and PRs welcome.
Check out my other plugin that handles user ratings: JellyRate.
- Users submit media requests with title, type, notes, IMDB links
- Full request lifecycle: pending → done / rejected / snoozed → archived
- Customizable request form (field labels, placeholders, required fields, custom fields)
- Admin configuration page
- Jellyfin 10.11.x
- .NET 9.0
| Method | Route | Description |
|---|---|---|
| POST | /MediaRequests |
Create a request |
| GET | /MediaRequests/My |
Your requests |
| GET | /MediaRequests/Quota |
Monthly quota status |
| PUT | /MediaRequests/{id} |
Edit a pending request |
| POST | /MediaRequests/{id}/Archive |
Archive your request |
| Method | Route | Description |
|---|---|---|
| GET | /MediaRequests |
All requests |
| POST | /MediaRequests/{id}/Status |
Change request status |
| POST | /MediaRequests/{id}/Snooze |
Snooze a request |
| POST | /MediaRequests/{id}/Unsnooze |
Unsnooze → pending |
| POST | /MediaRequests/Admin/{id}/Archive |
Archive a request |
| POST | /MediaRequests/Admin/{id}/Unarchive |
Restore an archived request |
| DELETE | /MediaRequests/Admin/{id} |
Permanently delete a request |
| GET | /MediaRequests/Bans |
List bans |
| POST | /MediaRequests/Bans |
Ban a user |
| DELETE | /MediaRequests/Bans/{banId} |
Remove a ban |
| Method | Route | Description |
|---|---|---|
| GET | /MediaRequests/Config |
Client-facing configuration |
- In Jellyfin, go to Dashboard → Plugins → Repositories.
- Click + and add:
- Name:
JellyRequest - URL:
https://raw.githubusercontent.com/trecoool/jellyrequest/master/manifest.json
- Name:
- Open the Catalog tab, find JellyRequest, and install it.
- Restart Jellyfin.
- Download
jellyrequest_1.0.0.0.zipfrom the Releases page. - Extract
JellyRequest.dllto<jellyfin-config>/plugins/JellyRequest/. - Restart Jellyfin.
dotnet build -c ReleaseCopy bin/Release/net9.0/JellyRequest.dll to <jellyfin-config>/plugins/JellyRequest/, then restart Jellyfin.
