Public/Invoke-GCAnalyticsUsersObservationsQuery.ps1

<#
.SYNOPSIS
    Queries user observation analytics.

.DESCRIPTION
    Executes an analytics query for user observation metrics in Genesys Cloud.
    Returns real-time user status and routing status observations.
    Calls POST /api/v2/analytics/users/observations/query.

.PARAMETER Body
    The mandatory request body containing the analytics query definition including filter,
    metrics, and detailMetrics.

.EXAMPLE
    $query = @{
        filter = @{
            type = 'or'
            predicates = @(
                @{ dimension = 'userId'; value = 'user-id-here' }
            )
        }
        metrics = @('oUserRoutingStatuses', 'oUserPresences')
    }
    Invoke-GCAnalyticsUsersObservationsQuery -Body $query

.NOTES
    Genesys Cloud API: POST /api/v2/analytics/users/observations/query
#>

function Invoke-GCAnalyticsUsersObservationsQuery {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)]
        [object]$Body
    )

    $endpoint = "analytics/users/observations/query"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method POST -Body $Body
}