Help
Help
Following
Follow and unfollow users, manage follow requests for private accounts, and query the social graph.
Endpoint table
| Method | Path | Auth | Description |
|---|---|---|---|
| POST | /api/follow/:userId | Session or Bearer | Follow a user. For private accounts this creates a pending follow request. |
| DELETE | /api/follow/:userId | Session or Bearer | Unfollow a user. |
| GET | /api/follow/:userId/status | Session or Bearer | Current follow relationship between you and this user. |
| GET | /api/follow/:userId/followers | Session or Bearer | Followers of this user. Query: limit (1–100, default 50), offset (≥ 0), status (pending | approved). |
| GET | /api/follow/:userId/following | Session or Bearer | Users this user follows. Query: limit (1–100, default 50), offset (≥ 0), status (pending | approved). |
| GET | /api/follow/:userId/counts | Session or Bearer | Follower and following counts. |
| GET | /api/follow/:userId/mutual | Session or Bearer | Mutual follows between you and this user. |
| POST | /api/follow/:userId/approve | Session or Bearer | Approve an incoming follow request (private accounts). |
| POST | /api/follow/:userId/reject | Session or Bearer | Reject an incoming follow request. |
| DELETE | /api/follow/:userId/remove | Session or Bearer | Remove this user from your followers. |
| GET | /api/follow/requests | Session or Bearer | Your pending incoming follow requests. |
Follow status
GET /api/follow/clx9user00002/status
{
"status": "approved",
"isFollowing": true,
"isPending": false,
"following": true,
"followedBy": false,
"pendingRequest": false,
"isSelf": false
}
The response describes the full relationship between you and the target user in one call:
| Field | Type | Meaning |
|---|---|---|
status | "approved" | "pending" | null | Raw state of your outgoing follow toward the target (null when you don't follow them). |
isFollowing | boolean | true only when status === "approved". |
isPending | boolean | true only when status === "pending". |
following | boolean | Whether you follow the target (equivalent to isFollowing). |
pendingRequest | boolean | Whether your follow request to the target is still pending (equivalent to isPending). |
followedBy | boolean | Whether the target follows you back (an approved incoming follow). |
isSelf | boolean | true when you query your own ID; all other fields are then false/null. |
status, isFollowing, and isPending are the original fields (outgoing follow only) and are preserved for backward compatibility. following, pendingRequest, followedBy, and isSelf were added so a client can learn the bidirectional relationship without a second request.
For a private account where your follow request is pending and the target does not follow you:
{
"status": "pending",
"isFollowing": false,
"isPending": true,
"following": false,
"followedBy": false,
"pendingRequest": true,
"isSelf": false
}
Querying your own ID short-circuits to a stable no-relationship shape:
{
"status": null,
"isFollowing": false,
"isPending": false,
"following": false,
"followedBy": false,
"pendingRequest": false,
"isSelf": true
}
Approving a request
POST /api/follow/clx9user00099/approve
The request is removed and the follow relationship is established. The follower is notified.
Counts and lists
GET /api/follow/clx9user00002/counts
{ "followers": 128, "following": 84, "pendingRequests": 3 }
pendingRequests is the number of incoming follow requests awaiting approval (relevant when querying your own profile).
GET /api/follow/clx9user00002/followers?limit=50&offset=0
Returns { "followers": [ ...user objects... ], "pagination": { "total", "limit", "offset", "hasMore" } }: the users are under the followers key (and correspondingly following for the following endpoint), not a bare array. GET /api/follow/:userId/mutual returns mutual-follow counts { "mutualFollowers", "mutualFollowing" }, not a user list.
Notes
- These endpoints check the privacy setting of the target user. A private account never reveals follower/following lists to non-followers.
- Removing a follower (
DELETE /api/follow/:userId/remove) does not block them; it only severs the existing relationship. They can re-follow (or request to follow again for private accounts).
Related
- People (Help Center): the user-facing guide to following, follow requests, and the social graph.
- Direct Messages: DMs require a mutual, approved follow relationship.
- Moderation: block and mute users.
- API overview: base URL, authentication at a glance, and response conventions.
- API explorer: try following endpoints live with the interactive Swagger console.