diff --git a/program/views.py b/program/views.py
index 54abd31061504d9623e6dc3a0405fad10a85c0d7..4e9cfe74dbd99a5fa5e6d039bc947f67b22084f5 100644
--- a/program/views.py
+++ b/program/views.py
@@ -1644,6 +1644,7 @@ class APIApplicationStateView(TestOperationViewMixin, views.APIView):
     list=extend_schema(summary="List all playlists."),
 )
 class APIPlaylistViewSet(viewsets.ModelViewSet):
+    filterset_class = filters.PlaylistFilter
     serializer_class = PlaylistSerializer
 
     def get_queryset(self):
@@ -1655,16 +1656,6 @@ class APIPlaylistViewSet(viewsets.ModelViewSet):
 
         return Playlist.objects.all()
 
-    def list(self, request, *args, **kwargs):
-        if show_id := request.query_params.get("show_id"):
-            queryset = self.get_queryset().filter(show_id=int(show_id))
-        else:
-            queryset = self.get_queryset()
-
-        serializer = PlaylistSerializer(queryset, many=True)
-
-        return Response(serializer.data)
-
     def create(self, request, *args, **kwargs):
         serializer = PlaylistSerializer(
             context={"request": request},