Index: src/routes/activitypub.js
===================================================================
--- src/routes/activitypub.js	(revision c25eff7c5881d1f5bd6acb27a120db5408220cfc)
+++ src/routes/activitypub.js	(revision 4b5db37be989c52df56e680e3acb98ee0cd84ac0)
@@ -636,4 +636,13 @@
 // zonder open tracks bestaat wel maar is leeg, want de playlist zelf is niet
 // geheim, alleen de bestanden erachter.
+// De lijst van alle playlist-collecties (shaer-ayc, stap 2). De actor wijst
+// hierheen via AS2 `streams`. Kaal standaard; verrijkte stubs op verzoek
+// (FEP-9876), dezelfde conventie als followers/following.
+router.get('/ap/users/:slug/playlists', (req, res) => {
+  const site = publicSite(req.params.slug);
+  if (!site) return res.status(404).end();
+  AP.sendAP(res, AP.listPlaylistsAP(baseUrl(req), site, wantsEnriched(req, res)));
+});
+
 router.get('/ap/users/:slug/playlists/:id', (req, res) => {
   const site = publicSite(req.params.slug);
