diff --git a/api/funkwhale_api/playlists/views.py b/api/funkwhale_api/playlists/views.py
index 1a88d231e46c63d865554f56b40128a24b9edac4..f78b5b8016258f5ed018ac00aace509c4501f9e9 100644
--- a/api/funkwhale_api/playlists/views.py
+++ b/api/funkwhale_api/playlists/views.py
@@ -32,7 +32,12 @@ class PlaylistViewSet(
         return self.queryset.filter(user=self.request.user)
 
     def perform_create(self, serializer):
-        return serializer.save(user=self.request.user)
+        return serializer.save(
+            user=self.request.user,
+            privacy_level=serializer.validated_data.get(
+                'privacy_level', self.request.user.privacy_level)
+
+        )
 
 
 class PlaylistTrackViewSet(
diff --git a/api/tests/playlists/test_views.py b/api/tests/playlists/test_views.py
index 943de03e11728631b693312dba46d34d56016123..f3084e6a06b93121fd7f9c696d446543b6d2b0e9 100644
--- a/api/tests/playlists/test_views.py
+++ b/api/tests/playlists/test_views.py
@@ -7,27 +7,44 @@ from funkwhale_api.playlists import models
 from funkwhale_api.playlists.serializers import PlaylistSerializer
 
 
-def test_can_create_playlist_via_api(logged_in_client):
+def test_can_create_playlist_via_api(logged_in_api_client):
     url = reverse('api:v1:playlists-list')
     data = {
         'name': 'test',
+        'privacy_level': 'everyone'
     }
 
-    response = logged_in_client.post(url, data)
+    response = logged_in_api_client.post(url, data)
 
-    playlist = logged_in_client.user.playlists.latest('id')
+    playlist = logged_in_api_client.user.playlists.latest('id')
     assert playlist.name == 'test'
+    assert playlist.privacy_level == 'everyone'
 
 
-def test_can_add_playlist_track_via_api(factories, logged_in_client):
+def test_playlist_inherits_user_privacy(logged_in_api_client):
+    url = reverse('api:v1:playlists-list')
+    user = logged_in_api_client.user
+    user.privacy_level = 'me'
+    user.save()
+
+    data = {
+        'name': 'test',
+    }
+
+    response = logged_in_api_client.post(url, data)
+    playlist = user.playlists.latest('id')
+    assert playlist.privacy_level == user.privacy_level
+
+
+def test_can_add_playlist_track_via_api(factories, logged_in_api_client):
     tracks = factories['music.Track'].create_batch(5)
-    playlist = factories['playlists.Playlist'](user=logged_in_client.user)
+    playlist = factories['playlists.Playlist'](user=logged_in_api_client.user)
     url = reverse('api:v1:playlist-tracks-list')
     data = {
         'playlist': playlist.pk,
         'track': tracks[0].pk
     }
 
-    response = logged_in_client.post(url, data)
-    plts = logged_in_client.user.playlists.latest('id').playlist_tracks.all()
+    response = logged_in_api_client.post(url, data)
+    plts = logged_in_api_client.user.playlists.latest('id').playlist_tracks.all()
     assert plts.first().track == tracks[0]