Is there any API we can use to check the current logged status of an user in Genesys Cloud?
I understand it's possible to gather the current user's presence but, in that case, the user is logged in.
Genesys reports have that information very well detailed, I feel strange not being able to find and API that would give us that.
Do you mean the "User Status Detail Report" in User Reports?
Showing Offline, Available, ... statuses
"Offline" is a presence status.
So Logged Out would correspond to Offline presence status.
And Logged In would correspond to all other presence status (different from Offline).
You can get a user's presence via a GET /api/v2/users/{userId} with "expand" query parameter containing "presence"
The Login StartTime happens when the user sets his presence to any possible presence status, except "OFFLINE" (ex: "AVAILABLE", "BUSY", "AWAY", ...).
As long as the user changes his state to something different from "OFFLINE" (ex: "AVAILABLE", "BUSY", "AWAY", ...), he is still considered as LoggedIn.
When the user logs out from the PureCloud client, or if he just kills the Web client (and after few seconds of timeout to detect that web client is not there anymore), his presence status is set to "OFFLINE".
Which defines the Login EndTime (when the user enters "OFFLINE" presence status).
We have already developed a Dashboard to show user statuses and compare against the licencesed users vs connected users and with the posibility to disconnect them.