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

1.6 KiB

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)}