Full BuddyPress API controller introduced in v5.0.4. Covers 7 component groups — all JWT-protected. Each component requires the corresponding BuddyPress component to be active. Returns a clean buddypress_missing status if BuddyPress is not installed.
xProfile — 3 endpoints
buddypress/xprofile_fields
Get all xProfile field groups and fields for a user. Public — no JWT needed.
Optional
user_id — defaults to current user
buddypress/xprofile 🔒 JWT
Get full xProfile data for the authenticated user or any user by ID.
Optional
user_id — defaults to JWT user
buddypress/xprofile_update 🔒 JWT
Update xProfile field values. Accepts field IDs or field names as keys.
Required
fields or xprofile — key-value object
- Keys: field ID (int) or field name (string)
Optional
user_id — admins can update other users
Members — 2 endpoints
buddypress/members
List BuddyPress members. Public. Paginated with search and type filter.
Optional
type — active | newest | alphabetical | random | online | popular (default: active)
count — per page, max 100 (default: 20)
page — default 1
search — search term
xprofile — true to include xProfile data
buddypress/member 🔒 JWT
Get full member profile including xProfile for authenticated user or any user by ID.
Optional
user_id — defaults to JWT user
Activity Stream — 7 endpoints
buddypress/activities 🔒 JWT
Get activity stream with optional user, component, and type filters.
Optional
user_id, component, type
primary_id, secondary_id
page, count, sort (ASC|DESC)
comments — stream | threaded (default: stream)
buddypress/post_update 🔒 JWT
Post a new activity stream update for the authenticated user.
Required
buddypress/delete_activity 🔒 JWT
Delete an activity item. User must own it or have bp_moderate capability.
Required
buddypress/activity_comment 🔒 JWT
Post a comment on an activity item. Supports threaded replies via parent_id.
Required
Optional
parent_id — for threaded replies
buddypress/delete_activity_comment 🔒 JWT
Delete an activity comment. Must own the comment or have bp_moderate.
Required
buddypress/favorite_activity · buddypress/unfavorite_activity 🔒 JWT
Add or remove an activity from the authenticated user’s favourites.
Required
Friends — 6 endpoints
buddypress/friends 🔒 JWT
List confirmed friends of the authenticated user or a specified user.
Optional
buddypress/friend_requests 🔒 JWT
List pending incoming friend requests for the authenticated user.
buddypress/add_friend 🔒 JWT
Send a friend request to another user.
Required
Optional
force_accept — admins only
buddypress/accept_friend 🔒 JWT
Accept a pending friend request by friendship ID or friend’s user ID.
Required (one of)
friendship_id
friend_id or user_id
buddypress/reject_friend 🔒 JWT
Reject a pending friend request by friendship ID or friend’s user ID.
Required (one of)
friendship_id
friend_id or user_id
buddypress/remove_friend 🔒 JWT
Remove an existing friendship.
Required
Private Messages — 6 endpoints
buddypress/message_threads 🔒 JWT
List message threads for the authenticated user’s inbox or sentbox.
Optional
box — inbox | sentbox (default: inbox)
type — all | read | unread (default: all)
page, count, search
buddypress/message_thread 🔒 JWT
Get all messages in a thread. User must be a participant. Returns sender profiles.
Required
buddypress/send_message 🔒 JWT
Send a new message or reply to an existing thread.
Required
content or message
recipient_ids — for new thread
- OR
thread_id — to reply
Optional
subject — for new threads
buddypress/mark_thread_read 🔒 JWT
Mark a message thread as read for the authenticated user.
Required
buddypress/mark_thread_unread 🔒 JWT
Mark a message thread as unread for the authenticated user.
Required
buddypress/messages_unread_count 🔒 JWT
Get total unread message count for the authenticated user.
Notifications — 4 endpoints
buddypress/notifications 🔒 JWT
List notifications for the authenticated user with optional read/unread filter.
Optional
is_new — true | false (omit for all)
page, count
buddypress/notifications_unread_count 🔒 JWT
Get total unread notification count for the authenticated user.
buddypress/mark_notification_read 🔒 JWT
Mark a single notification as read by its ID.
Required
buddypress/mark_all_notifications_read 🔒 JWT
Mark all notifications as read for the authenticated user.
Groups — 5 endpoints
buddypress/groups
List BuddyPress groups. Public. Supports type, search, and pagination.
Optional
type — active | newest | alphabetical | random | popular (default: active)
page, count, search
buddypress/group
Get a single BuddyPress group by ID. Returns full group object with avatar, cover, and meta.
Required
buddypress/group_members
List members of a group. Public. Paginated.
Required
Optional
buddypress/join_group 🔒 JWT
Join a BuddyPress group as the authenticated user.
Required
buddypress/leave_group 🔒 JWT
Leave a BuddyPress group as the authenticated user.
Required
buddypress/info
Returns plugin version, auth model, BuddyPress availability status, and all endpoint groups. Useful for app startup discovery.
BuddyPress components required per group: xProfile component → xprofile_* · Members component → members, member · Activity component → activities, post_update, delete_activity, activity_comment, delete_activity_comment, favorite_activity, unfavorite_activity · Friends component → friends, friend_requests, add_friend, accept_friend, reject_friend, remove_friend · Messages component → message_threads, message_thread, send_message, mark_thread_read, mark_thread_unread, messages_unread_count · Notifications component → notifications, notifications_unread_count, mark_notification_read, mark_all_notifications_read · Groups component → groups, group, group_members, join_group, leave_group.