Public/Invoke-GCAnalyticsUsersAggregatesQuery.ps1

<#
.SYNOPSIS
    Queries user aggregate analytics.

.DESCRIPTION
    Executes an analytics query for user aggregate metrics in Genesys Cloud.
    Returns aggregated user data such as handle time, talk time, and interaction counts.
    Calls POST /api/v2/analytics/users/aggregates/query.

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

.EXAMPLE
    $query = @{
        interval = '2024-01-01T00:00:00Z/2024-01-02T00:00:00Z'
        granularity = 'PT1H'
        metrics = @('tHandle', 'tTalk', 'nOffered')
    }
    Invoke-GCAnalyticsUsersAggregatesQuery -Body $query

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

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

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