Skip to content

Profile API

Public profile retrieval plus profile edits, memberships, comments, spaces, and notification preferences.

Authentication

Profile routes are portal routes. Mutating routes enforce ownership or moderation rules inside the controller.

Endpoints

MethodPathEditionOperationWhat it does
GET/profile/{username}CoreGet ProfileReturns one member public profile by username, with the navigation tabs the portal should render for that member.
POST/profile/{username}CoreUpdate ProfileSaves the editable profile fields — names, bio, headline, website and social links — and mirrors the display name onto the WordPress user record.
PUT/profile/{username}CorePatch ProfileApplies a targeted profile change — swapping the avatar or cover photo, or deactivating the account.
POST/profile/{username}/change-passwordCorePost Change PasswordChanges the account password after verifying the current one, and returns freshly minted nonces so the open session keeps working.
GET/profile/{username}/spacesCoreList Profile SpacesReturns the spaces a member actively belongs to, each with its member count.
GET/profile/{username}/coursesCoreGet CoursesReturns the published courses a member is enrolled in, each with their progress, cover image and section, lesson and student counts.
GET/profile/{username}/membershipsCoreList Profile MembershipsReturns only the space ids a member actively belongs to — the cheap lookup used to decide what to show on their profile.
GET/profile/{username}/notification-preferencesCoreGet Notification PreferencesReturns the email notification preferences for a member — the global toggles, the per-space post preferences grouped by space group, and the digest send day.
POST/profile/{username}/notification-preferencesCoreSave Notification PreferencesStores the email notification preferences for a member, translating the per-space choices into the underlying subscription rows.
GET/profile/{username}/followersPROList Profile FollowersReturns the paginated list of members following this profile, each annotated with whether the current user follows them back.
GET/profile/{username}/followingsPROList Profile FollowingsReturns the paginated list of members this profile follows, each annotated with whether the current user follows them too.
GET/profile/{username}/blocked-usersPROList Profile Blocked UsersReturns the paginated list of members this profile has blocked.
POST/profile/{username}/followPROFollow Profile UserCreates a follow relationship from the current user to the named member.
POST/profile/{username}/unfollowPROUnfollow Profile UserRemoves the follow relationship from the current user to the named member.
POST/profile/{userId}/toggle-followPROToggle Profile FollowFollows the named member if not already followed, and unfollows them if they are — addressed by numeric user id rather than username.
POST/profile/{username}/blockPROBlock Profile UserBlocks a member, converting any existing follow relationship into a block rather than creating a second row.
POST/profile/{username}/unblockPROUnblock Profile UserLifts a block, deleting the relationship row entirely rather than reverting it to a follow.
POST/profile/{username}/notificationPROToggle Profile NotificationTurns notifications about a member you already follow on or off, without changing the follow itself.

FluentCommunity developer documentation