# Follow User follow relationship management. Handles following/unfollowing users, managing follow requests, and querying follower/followee relationships. Supports both local and remote (federated) users with ActivityPub protocol integration. ## List mutual connections - [GET /api/v1/users/connections](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1connections/get.md): Returns users who have a mutual (bidirectional) follow relationship with the authenticated user. Both users follow each other. Can filter by connection status. By default returns only ACCEPTED mutual connections. Useful for finding close connections or friends. ## Follow a user - [POST /api/v1/users/follow/{username}](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1follow~1%7Busername%7D/post.md): Initiates a follow relationship with a local or remote user. For remote users, specify the domain parameter or include it in the username (user@domain). Supports mutual follows (bidirectional connections) when mutual=true. Checks for blocks and self-follows. Remote follows are sent via ActivityPub. Local follows may auto-accept based on user settings. ## Accept follow request - [POST /api/v1/users/follow/{username}/accept](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1follow~1%7Busername%7D~1accept/post.md): Accepts a pending follow request from another user. Changes follow status from PENDING to ACCEPTED. Checks for blocks before accepting. Sends Accept activity to remote followers via ActivityPub. Only the followee can accept their own follow requests. ## Reset follow request to pending - [POST /api/v1/users/follow/{username}/pend](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1follow~1%7Busername%7D~1pend/post.md): Resets a previously accepted or rejected follow request back to PENDING status. Useful when reconsidering a follow decision. The request can then be accepted or rejected again. Only affects the local follow status, not remote ActivityPub state. ## Reject follow request - [POST /api/v1/users/follow/{username}/reject](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1follow~1%7Busername%7D~1reject/post.md): Rejects a pending follow request from another user. Changes follow status from PENDING to REJECTED. Sends Reject activity to remote followers via ActivityPub. The follower can retry following after rejection. Only the followee can reject their own follow requests. ## Unfollow a user - [POST /api/v1/users/follow/{username}/undo](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1follow~1%7Busername%7D~1undo/post.md): Removes a follow relationship with a local or remote user. For remote users, specify the domain parameter or include it in the username. If mutual=true, removes bidirectional connection. Sends Undo Follow activity to remote users via ActivityPub. Returns error if no follow relationship exists. ## List users you follow - [GET /api/v1/users/followees](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1followees/get.md): Returns a paginated list of users that the authenticated user follows. Can filter by follow status (ACCEPTED, PENDING, REJECTED) or return all statuses. By default returns only ACCEPTED followees. Includes both local and remote users. ## List followers - [GET /api/v1/users/followers](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1followers/get.md): Returns a paginated list of users who follow the authenticated user. Can filter by follow status (ACCEPTED, PENDING, REJECTED) or return all statuses. By default returns only ACCEPTED followers. Includes both local and remote followers. ## Get relationships with users - [GET /api/v1/users/relationships](https://docs.wellesley.social/openapi/follow/paths/~1api~1v1~1users~1relationships/get.md): Returns relationship status between the authenticated user and specified target users. Shows following/followed status and optionally blocked/muted/notes. Returns a map of user IDs to relationship objects. If no relationship exists for a user ID, it's omitted from the response. Useful for bulk checking relationship status.