# 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](https://rest-api.symphony.com/apps-on-behalf-of-obo/obo-enabled-endpoints#api-endpoints-enabled-for-obo), use the [OBO User Authenticate](https://rest-api.symphony.com/main/apps-on-behalf-of-obo/obo-rsa-user-authentication-by-user-id) token for `sessionToken`.

> #### 📘 See also
>
> * [Unfollow User](https://rest-api.symphony.com/main/users/unfollow-user) to make a list of users to stop following a specific user
