Social Features API

Follow system, connections, and group management endpoints

Follow System

User following and follower management

POST /api/v1/follow/{userId}

Follow another user

🔒 Authentication Required
DELETE /api/v1/follow/{userId}

Unfollow a user

🔒 Authentication Required
GET /api/v1/follow/{userId}/followers

Get user's followers list (supports pagination)

🔒 Authentication Required
GET /api/v1/follow/{userId}/following

Get user's following list (supports pagination)

🔒 Authentication Required
GET /api/v1/follow/{userId}/status

Check follow relationship status with another user

🔒 Authentication Required

Connection System

Connection requests and professional networking

POST /api/v1/connection/request/{userId}

Send connection request to another user

🔒 Authentication Required
POST /api/v1/connection/accept/{userId}

Accept a connection request

🔒 Authentication Required
POST /api/v1/connection/reject/{userId}

Reject a connection request

🔒 Authentication Required
DELETE /api/v1/connection/{userId}

Remove an existing connection

🔒 Authentication Required
GET /api/v1/connection/requests/pending

Get pending connection requests received

🔒 Authentication Required
GET /api/v1/connection/requests/sent

Get connection requests sent by current user

🔒 Authentication Required
GET /api/v1/connection/list

Get all connections of current user

🔒 Authentication Required
GET /api/v1/connection/{userId}/status

Check connection status with another user

🔒 Authentication Required

Group Management

Organize connections into groups and subgroups

POST /api/v1/group/initialize

Initialize default main groups (Batch Students, Conference Clients, My Office)

🔒 Authentication Required
GET /api/v1/group/list

Get all groups with subgroups and members

🔒 Authentication Required
GET /api/v1/group/main

Get only main groups

🔒 Authentication Required
GET /api/v1/group/{groupId}/subgroups

Get all subgroups of a main group

🔒 Authentication Required
POST /api/v1/group/{groupId}/subgroup

Create a new subgroup under a main group

🔒 Authentication Required
Body: { "name": "Subgroup Name", "description": "Optional description" }
PATCH /api/v1/group/{groupId}

Update group/subgroup (cannot change main group names)

🔒 Authentication Required
DELETE /api/v1/group/{groupId}

Delete a subgroup (cannot delete main groups)

🔒 Authentication Required
GET /api/v1/group/{groupId}/members

Get all members of a group/subgroup (supports pagination)

🔒 Authentication Required
POST /api/v1/group/{groupId}/members/{userId}

Add a connected user to a group/subgroup

🔒 Authentication Required
DELETE /api/v1/group/{groupId}/members/{userId}

Remove a user from a group/subgroup

🔒 Authentication Required
POST /api/v1/group/move-member

Move a user from one group to another

🔒 Authentication Required
Body: { "userId": "userId", "fromGroupId": "sourceGroupId", "toGroupId": "destinationGroupId" }

Usage Notes

Important information about the social features APIs

Authentication

All social features require JWT authentication via Authorization: Bearer <token> header.

Default Main Groups

  • Batch Students - For organizing students by batches
  • Conference Clients - For conference-related contacts
  • My Office - For office/workplace contacts

Group Restrictions

  • Only connected users can be added to groups
  • Main group names cannot be changed
  • Main groups cannot be deleted
  • Subgroups can only be created under main groups

Pagination

List endpoints support query parameters: ?page=1&limit=20