# List Connection

## List of requesting user's connection

> This retrieves all connections of the requesting user. (i.e. both connections in which the requesting user is the sender and those\
> in which the requesting user is the inivtee) By default, if you haven't specified the connection status to filter on, this call will only\
> return results for both "pending\_incoming" and "pending\_outgoing". You can optionally filter by userIds to further restrict the results of\
> a specific connection status. If the users are in the same private pod, the users have an implicit connection status of "accepted". Those\
> users will not be returned in the response if you don't specify the connection status as "accepted" (default is "pending")\
> and the explicit userIds in the request.<br>

```json
{"openapi":"3.1.1","info":{"title":"Pod API","version":"20.17.1"},"servers":[{"url":"http://yourpodURL.symphony.com/pod"}],"paths":{"/v1/connection/list":{"get":{"summary":"List of requesting user's connection","description":"This retrieves all connections of the requesting user. (i.e. both connections in which the requesting user is the sender and those\nin which the requesting user is the inivtee) By default, if you haven't specified the connection status to filter on, this call will only\nreturn results for both \"pending_incoming\" and \"pending_outgoing\". You can optionally filter by userIds to further restrict the results of\na specific connection status. If the users are in the same private pod, the users have an implicit connection status of \"accepted\". Those\nusers will not be returned in the response if you don't specify the connection status as \"accepted\" (default is \"pending\")\nand the explicit userIds in the request.\n","parameters":[{"schema":{"type":"string"},"name":"sessionToken","description":"Session authentication token.","in":"header","required":true},{"schema":{"type":"string","enum":["PENDING_INCOMING","PENDING_OUTGOING","ACCEPTED","REJECTED","ALL"]},"name":"status","description":"Filter the connection list based on the connection status.\nThe connection status can only be pending_incoming, pending_outgoing, accepted, rejected, or all (all of the above)\n","in":"query"},{"schema":{"type":"string"},"name":"userIds","description":"The userIds parameter should be specified as a comma delimited list of user ids and can be used to restrict the results of a specific connection.\nNote that this is particularly important if the caller intends to retrieve results for implicit connection (user within the same pod).\nImplicit connections will not be included in the response if userId is not provided.\n","in":"query"}],"tags":["Connection"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserConnectionList"}}}},"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"}}}},"404":{"description":"Not Found: Connection cannot be found.","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"}}}}}}}},"components":{"schemas":{"UserConnectionList":{"type":"array","items":{"$ref":"#/components/schemas/UserConnection"}},"UserConnection":{"type":"object","description":"Connection status between two users","properties":{"userId":{"type":"integer","format":"int64","description":"user id"},"status":{"type":"string","description":"Connection status between the requesting user and the request sender","enum":["PENDING_INCOMING","PENDING_OUTGOING","ACCEPTED","REJECTED"]},"firstRequestedAt":{"type":"integer","format":"int64","description":"unix timestamp when the first request was made"},"updatedAt":{"type":"integer","format":"int64","description":"unix timestamp on the last updated date"},"requestCounter":{"type":"integer","format":"int32","description":"number of requests made"}}},"Error":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}}}}
```

This endpoint retrieves all connections of the requesting user. (i.e. both connections in which the requesting user is the sender and those in which the requesting user is the invitee). By default, if you have not specified the connection status to filter on, this call will only return results for both PENDING\_INCOMING and PENDING\_OUTGOING. You can optionally filter by userIds to further restrict the results of a specific connection status. If the users are in the same private pod, the users have an implicit connection status of ACCEPTED. Those users will not be returned in the response if you do not specify the connection status as ACCEPTED (default is "pending") and the explicit userIds in the request.

> #### 📘 Note
>
> * When calling this as an [OBO-enabled endpoint](https://rest-api.symphony.com/main/apps-on-behalf-of-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`.
> * Pods from all users involved need to have `crossPod` enabled between them.

### Connection Status

Currently, there are four possible connection status:

* PENDING\_INCOMING: The specified user requested to connect with the calling user.
* PENDING\_OUTGOING: The calling user requested to connect with the specified user.
* ACCEPTED: The two users are connected.
* REJECTED: The two users are not connected.
