{"message":"Welcome to Pejla API","endpoints":[{"method":"POST","path":"/users","description":"Register"},{"method":"POST","path":"/sessions","description":"Login"},{"method":"GET","path":"/users/me","description":"Get profile (auth)"},{"method":"POST","path":"/users/me/push-token","description":"Register push token (auth)"},{"method":"GET","path":"/polls","description":"Get all polls"},{"method":"GET","path":"/polls/:shareId","description":"Get one poll"},{"method":"POST","path":"/polls","description":"Create poll (auth)"},{"method":"POST","path":"/polls/:id/vote","description":"Vote (auth)"},{"method":"PATCH","path":"/polls/:id","description":"Update poll (auth, owner)"},{"method":"DELETE","path":"/polls/:id","description":"Delete poll (auth, owner)"},{"method":"POST","path":"/polls/:id/remix","description":"Remix a poll (auth)"},{"method":"POST","path":"/upload","description":"Upload image (auth)"},{"method":"GET","path":"/polls/:id/comments","description":"Get comments"},{"method":"POST","path":"/polls/:id/comments","description":"Add comment (auth)"},{"method":"DELETE","path":"/comments/:id","description":"Delete comment (auth, owner)"},{"method":"POST","path":"/reports","description":"Report poll/comment (auth)"},{"method":"GET","path":"/admin/reports","description":"View reports (admin)"},{"method":"PATCH","path":"/admin/reports/:id","description":"Update report (admin)"},{"method":"GET","path":"/notifications","description":"Get notifications (auth)"},{"method":"GET","path":"/notifications/unread-count","description":"Unread count (auth)"},{"method":"PATCH","path":"/notifications/:id/read","description":"Mark one read (auth)"},{"method":"PATCH","path":"/notifications/read-all","description":"Mark all read (auth)"},{"method":"GET","path":"/users/search","description":"Search users by username (auth)"},{"method":"GET","path":"/teams","description":"Get my teams (auth)"},{"method":"GET","path":"/teams/:id","description":"Get team details (auth, member)"},{"method":"POST","path":"/teams","description":"Create team (auth)"},{"method":"POST","path":"/teams/join","description":"Join team by invite code (auth)"},{"method":"POST","path":"/teams/:id/invite","description":"Invite user to team (auth, admin)"},{"method":"GET","path":"/teams/:id/public","description":"Get public team info"},{"method":"PATCH","path":"/teams/:id/visibility","description":"Toggle team visibility (auth, admin)"},{"method":"DELETE","path":"/teams/:id/members/:userId","description":"Remove member (auth, admin)"},{"method":"POST","path":"/teams/:teamId/projects","description":"Create project (auth)"},{"method":"POST","path":"/projects/:id/polls","description":"Link poll to project (auth)"},{"method":"POST","path":"/integrations/slack","description":"Save Slack webhook (auth)"},{"method":"GET","path":"/integrations/slack","description":"List Slack webhooks (auth)"},{"method":"DELETE","path":"/integrations/slack/:id","description":"Delete Slack webhook (auth)"},{"method":"POST","path":"/integrations/slack/:id/test","description":"Test Slack webhook (auth)"},{"method":"GET","path":"/auth/google","description":"Start Google OAuth flow"},{"method":"GET","path":"/auth/google/callback","description":"Google OAuth callback"},{"method":"GET","path":"/auth/github","description":"Start GitHub OAuth flow"},{"method":"GET","path":"/auth/github/callback","description":"GitHub OAuth callback"},{"method":"GET","path":"/integrations/slack/install","description":"Start Slack app OAuth flow"},{"method":"GET","path":"/integrations/slack/callback","description":"Slack OAuth callback"},{"method":"POST","path":"/integrations/slack/commands","description":"Slack slash commands"},{"method":"POST","path":"/integrations/slack/interactions","description":"Slack interactive components"},{"method":"POST","path":"/integrations/slack/events","description":"Slack events (link unfurling)"}]}