The customer community API at /client/community/* is the social layer your customers see — their profile, the feed, posts they create, direct messages, group chats, follows, and connections. It's a separate URL tree from the staff-side community management; customers can't moderate other people's content from this surface.
Pages and feed
/client/community/pagesJWT/client/community/pages/:pageIdJWT/client/community/pagesJWT/client/community/pages/:pageIdJWT/client/community/pages/mineJWT/client/community/pages/:pageId/joinJWT/client/community/pages/:pageId/leaveJWT/client/community/pages/:pageId/inviteJWT/client/community/pages/:pageId/membersJWT/client/community/feedJWTPages are community spaces (think Facebook groups). Customers create them, join them, invite others, and post in them. The feed endpoint returns the customer's personalised feed across all pages they're members of.
Posts
/client/community/postsJWT/client/community/posts/:postIdJWT/client/community/posts/:postIdJWT/client/community/posts/:postIdJWT/client/community/posts/:postId/shareJWT/client/community/posts/:postId/voteJWTStandard CRUD. Customers can edit and delete only their own posts. share re-posts to another page or the customer's own profile. vote is upvote/downvote — used in Reddit-style discussions.
Comments and reactions
/client/community/posts/:postId/commentsJWT/client/community/posts/:postId/commentsJWT/client/community/comments/:commentIdJWT/client/community/reactJWT/client/community/reactionsJWT/client/community/hashtags/trendingJWTComments are nested one level. Reactions are emoji-style (like, love, laugh, sad, angry). Trending hashtags refresh every few minutes via the Sync module.
Stories
/client/community/storiesJWT/client/community/storiesJWT/client/community/stories/:storyId/viewJWT/client/community/stories/:storyIdJWTEphemeral 24-hour posts. The view endpoint records who saw each story (visible to the story's author). Stories auto-expire via a scheduled purge job.
Follows and connections
/client/community/followJWT/client/community/follow/:followingIdJWT/client/community/followersJWT/client/community/followingJWT/client/community/connections/requestJWT/client/community/connections/:id/respondJWT/client/community/connectionsJWT/client/community/connections/pendingJWT/client/community/connections/accept-allJWT/client/community/connections/:idJWTFollows are one-way (Twitter-style). Connections are mutual (LinkedIn-style) — one side requests, the other accepts. The two graphs are independent; follow X doesn't make X your connection.
Direct messaging
/client/community/messagesJWT/client/community/messages/threadsJWT/client/community/messages/thread/:userIdJWT/client/community/messages/readJWT/client/community/messages/thread/:userId/readJWT/client/community/messages/:idJWT/client/community/messages/unread-countJWTDMs between customers. Real-time delivery uses the CommunityChatGateway WebSocket — REST endpoints are for history fetch and read-state.
Group chat
/client/community/groupsJWT/client/community/groupsJWT/client/community/groups/:groupIdJWT/client/community/groups/:groupId/messagesJWT/client/community/groups/:groupId/messagesJWT/client/community/groups/:groupId/membersJWT/client/community/groups/:groupId/members/:emailJWTGroup chats are multi-party DMs with named rooms. Same WebSocket gateway handles real-time delivery.
Meetings
/client/community/meetingsJWT/client/community/meetingsJWT/client/community/meetings/upcomingJWT/client/community/meetings/:id/respondJWT/client/community/meetings/:idJWTCustomer-to-customer scheduled meetings. The platform provisions a video room and emails calendar invites. Distinct from the reservations system, which is for booking against staff/services.
Notifications
/client/community/notificationsJWT/client/community/notifications/readJWT/client/community/notifications/read-allJWT/client/community/notifications/unread-countJWTActivity-driven notifications — someone followed you, replied to your post, sent you a message.
Discovery
/client/community/peopleJWT/client/community/people/:emailJWT/client/community/people/suggestionsJWT/client/community/badgesJWT/client/community/badges/mineJWTSearch and suggested people. Badges are awarded for milestones (first post, X followers, anniversary).
Moderation
/client/community/blocksJWT/client/community/blocks/:userIdJWT/client/community/blocksJWT/client/community/reportsJWTBlock another customer (mutual hide), or report content/users for staff review. Reports go to the staff moderation queue.
Media
/client/community/media/uploadJWT/client/community/media/mineJWT/client/community/media/renameJWT/client/community/media/:pathJWTCustomer-uploaded media (images, videos) for posts and profiles.