{"service":"ecoutedonc-api","docs":{"health":"GET /api/health","auth":{"register":"POST /api/auth/register","login":"POST /api/auth/login","me":"GET /api/auth/me","patchMe":"PATCH /api/auth/me","photo":"POST /api/auth/me/photo","verifyEmail":"GET|POST /api/auth/verify-email","resendVerification":"POST /api/auth/resend-verification","forgotPassword":"POST /api/auth/forgot-password","resetPassword":"POST /api/auth/reset-password"},"impressions":{"list":"GET /api/impressions","get":"GET /api/impressions/:id","create":"POST /api/impressions","update":"PATCH /api/impressions/:id","delete":"DELETE /api/impressions/:id","like":"POST /api/impressions/:id/like","unlike":"DELETE /api/impressions/:id/like","comments":"GET|POST /api/impressions/:id/comments","commentCount":"GET /api/impressions/:id/comments/count"},"comments":{"update":"PATCH /api/comments/:id","delete":"DELETE /api/comments/:id"},"artistes":{"search":"GET /api/artistes/search?q=&limit=","get":"GET /api/artistes/:id","articles":"GET /api/artistes/:id/articles","impressions":"GET /api/artistes/:id/impressions","feed":"GET /api/artistes/:id/feed"},"sites":{"list":"GET /api/sites","get":"GET /api/sites/:idOrSlug","articles":"GET /api/sites/:idOrSlug/articles","subscribe":"POST|PATCH|DELETE /api/sites/:idOrSlug/subscribe"},"articles":{"list":"GET /api/articles?q=&site=&artiste=&tag=&tags=&tagMode=any|all&category=&region=&hasTags=1&subscribed=1&since=&sinceId=&limit=&offset=","latestMeta":"GET /api/articles/latest-meta?subscribed=1&category=&region=&site=&tag=","get":"GET /api/articles/:id","like":"POST|DELETE /api/articles/:id/like","likesCount":"GET /api/articles/:id/likes/count","comments":"GET|POST /api/articles/:id/comments","commentCount":"GET /api/articles/:id/comments/count"},"subscriptions":{"list":"GET /api/subscriptions","create":"POST /api/subscriptions","update":"PATCH /api/subscriptions/:siteId","delete":"DELETE /api/subscriptions/:siteId"},"users":{"search":"GET /api/users/search?q="},"notifications":{"list":"GET /api/notifications","unreadCount":"GET /api/notifications/unread-count","markRead":"PATCH /api/notifications/:id/read","readAll":"POST /api/notifications/read-all"},"lieux":{"search":"GET /api/lieux/search?q=","get":"GET /api/lieux/:id","articles":"GET /api/lieux/:id/articles","create":"POST /api/lieux"},"stats":{"artistes":"GET /api/stats/artistes?limit=&by=articles|impressions|spectacles|combined&includeStubs=0&itemsLimit=all","lieux":"GET /api/stats/lieux?limit=&by=articles|impressions|spectacles|combined&type=Festival&itemsLimit=all"},"contentCount":{"track":"POST /api/content-count","count":"GET /api/content-count/count?articleId=|impressionId=","topArticles":"GET /api/content-count/top/articles?limit=&since=","topImpressions":"GET /api/content-count/top/impressions?limit=&since=","articleClick":"POST /api/articles/:id/click","articleCount":"GET /api/articles/:id/clicks/count","impressionClick":"POST /api/impressions/:id/click","impressionCount":"GET /api/impressions/:id/clicks/count"},"shares":{"list":"GET /api/shares?limit=&offset=&userId=","preview":"GET /api/shares/preview?url=","create":"POST /api/shares { url, comment?, title?, description?, imageUrl? }","get":"GET /api/shares/:id","delete":"DELETE /api/shares/:id"},"boardPosts":{"list":"GET /api/board-posts?limit=&offset=&userId=","count":"GET /api/board-posts/count?userId=","get":"GET /api/board-posts/:id","create":"POST /api/board-posts","update":"PATCH /api/board-posts/:id","delete":"DELETE /api/board-posts/:id"},"events":{"list":"GET /api/events?limit=&offset=&q=","create":"POST /api/events","mine":"GET /api/events/mine?limit=","get":"GET /api/events/:id","cancel":"PATCH /api/events/:id { cancelled: true|false }","participants":"GET /api/events/:id/participants?statut=&limit=&offset=","participate":"PUT /api/events/:id/participation","unparticipate":"DELETE /api/events/:id/participation"},"admin":{"activity":"GET /api/admin/activity?type=user,impression,comment,participation&limit=&cursor=","summary":"GET /api/admin/summary","users":"GET /api/admin/users?q=&status=active|banned|admin&limit=&offset=","events":"GET /api/admin/events?q=&source=lpv|user&cancelled=true|false&upcoming=true|false&limit=&offset=","cancelEvent":"DELETE /api/admin/events/:id","patchEvent":"PATCH /api/admin/events/:id { cancelled: true|false }","deleteComment":"DELETE /api/admin/comments/:id","ban":"POST /api/admin/users/:id/ban","unban":"DELETE /api/admin/users/:id/ban"}}}