# Get User Presence

## GET /v3/user/{uid}/presence

> Get presence information about a particular user.

```json
{"openapi":"3.1.1","info":{"title":"Pod API","version":"20.17.1"},"servers":[{"url":"http://yourpodURL.symphony.com/pod"}],"paths":{"/v3/user/{uid}/presence":{"get":{"summary":"Get presence information about a particular user.","parameters":[{"schema":{"type":"integer","format":"int64"},"name":"uid","description":"User ID as a decimal integer\n","in":"path","required":true},{"schema":{"type":"boolean","default":false},"name":"local","description":"If true, a local query will be performed and the presence will be\nset to OFFLINE for users who are not local to the calling user's\npod. If false or absent, then the presence of all local users and\nthe presence of all external users to whom the calling user is\nconnected will be queried.\n\nFor external users, a \"presence interest\" should be registered through\n/v1/user/presence/register before querying for presence.\n","in":"query","required":false},{"schema":{"type":"string"},"name":"sessionToken","description":"Session authentication token.","in":"header","required":true}],"tags":["Presence"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2Presence"}}}},"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: user id cannot be located.","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":{"V2Presence":{"allOf":[{"$ref":"#/components/schemas/V2UserPresence"},{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64","description":"The time, in milliseconds since Jan 1 1970, when the presence state was set."}}}]},"V2UserPresence":{"allOf":[{"$ref":"#/components/schemas/V2PresenceStatus"},{"type":"object","properties":{"userId":{"type":"integer","format":"int64","description":"The ID of the user to whom the presence state relates."}}}]},"V2PresenceStatus":{"type":"object","properties":{"category":{"type":"string","description":"Presence status. Possible values are:\n  - UNDEFINED\n  - AVAILABLE\n  - BUSY\n  - DO_NOT_DISTURB\n  - ON_THE_PHONE\n  - BE_RIGHT_BACK\n  - IN_A_MEETING\n  - AWAY\n  - OUT_OF_OFFICE\n  - OFF_WORK\n  - OFFLINE\n"}},"required":["category"]},"Error":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}}}}
```

The `timestamp` in the response is in UTC format and contains the time when the presence was set using [Set Presence](https://rest-api.symphony.com/main/presence/set-presence). For users who are offline, the `timestamp` contains the current time when the Get User Presence endpoint was invoked.

To get the presence of external users, you must first [register interest](https://rest-api.symphony.com/main/presence/register-user-presence-interest) about their presence.

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`.

The available online status values (presence categories) for users are listed on the [Get Presence](https://rest-api.symphony.com/main/presence/get-presence) page.

### Query Presence of External Users

To query the presence of external users, you must first perform an additional step:

1. Call the [Register Interest in External User Presence](https://rest-api.symphony.com/main/presence/register-user-presence-interest) endpoint to register interest in those users.
2. Call this endpoint to query the presence of each user.

To query the presence of internal users, you do not need to register interest and can call this endpoint directly.
