zulip/templates/zerver/api/get-presence.md

49 lines
1.6 KiB
Markdown

# Get user presence
{generate_api_description(/users/{email}/presence:get)}
## Usage examples
{start_tabs}
{tab|python}
{generate_code_example(python)|/users/{email}/presence:get|example}
{tab|curl}
{generate_code_example(curl)|/users/{email}/presence:get|example}
{end_tabs}
## Arguments
{generate_api_arguments_table|zulip.yaml|/users/{email}/presence:get}
## Response
#### Return values
* `presence`: An object containing the presence details for every type
of client the user has ever logged into.
* `{client_name}` or `aggregated`: the keys for these objects are
the names of the different clients where this user is logged in,
like `website`, `ZulipDesktop`, `ZulipTerminal`, or
`ZulipMobile`. There is also an `aggregated` key, which matches
the contents of the object that has been updated most
recently. For most applications, you'll just want to look at the
`aggregated` key.
* `timestamp`: when this update was received; if the timestamp
is more than a few minutes in the past, the user is offline.
* `status`: either `active` or `idle`: whether the user had
recently interacted with Zulip at the time in the timestamp
(this distinguishes orange vs. green dots in the Zulip web
UI; orange/idle means we don't know whether the user is
actually at their computer or just left the Zulip app open
on their desktop).
#### Example response
A typical successful JSON response may look like:
{generate_code_example|/users/{email}/presence:get|fixture(200)}