# Follow User

## POST /v1/user/{uid}/follow

> Make a list of users start following a specific user

```json
{"openapi":"3.1.1","info":{"title":"Pod API","version":"20.17.1"},"servers":[{"url":"http://yourpodURL.symphony.com/pod"}],"paths":{"/v1/user/{uid}/follow":{"post":{"summary":"Make a list of users start following a specific user","parameters":[{"schema":{"type":"string"},"name":"sessionToken","description":"Session authentication token.","in":"header","required":true},{"schema":{"type":"integer","format":"int64"},"name":"uid","description":"User ID as a decimal integer of the user to be followed","in":"path","required":true}],"tags":["User"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Client error, see response body for further details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized: Invalid session token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden: Caller lacks necessary entitlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error, see response body for further details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FollowersList"}}},"description":"List of (integer) User IDs of the followers","required":true}}}},"components":{"schemas":{"SuccessResponse":{"type":"object","properties":{"format":{"type":"string","enum":["TEXT","XML"]},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}},"FollowersList":{"type":"object","properties":{"followers":{"$ref":"#/components/schemas/UserIdList"}}},"UserIdList":{"type":"array","items":{"type":"integer","format":"int64"}}}}}
```

> #### 🚧 Rules
>
> * The Service Account should have the Role *"User Provisioning"* in order to make these changes for any user or itself.
> * It is impossible for a user/service account to follow himself. The fact that the user/service account to follow (whose id is the `uid` from path param) is part of the list `followers` will not generate an error in the payload:
>   * a 200 should still be received but the user/service account will not follow himself;
>   * the other users included in the list will however start following the user to be followed (the one whose id is in path param as `uid`).
> * If an invalid user id is part of the list `followers`, then:
>   * a 400 error will be received in the payload mentioning the invalid user id;
>   * the other users included in the list will however start following the user to be followed (the one whose id is in path param as `uid`).
> * The fact that one of the user from the list `followers` already follows the considered user (from the path param as the one to follow) will not generate an error in the payload: a 200 should still be received. The involved user from the `followers` list will continue following the one to be followed.

When calling this as an [OBO-enabled endpoint](/main/apps-on-behalf-of-obo/obo-enabled-endpoints.md#api-endpoints-enabled-for-obo), use the [OBO User Authenticate](/main/apps-on-behalf-of-obo/obo-rsa-user-authentication-by-user-id.md) token for `sessionToken`.

> #### 📘 See also
>
> * [Unfollow User](/main/users/unfollow-user.md) to make a list of users to stop following a specific user


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rest-api.symphony.com/main/users/follow-user.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
