Public/Invoke-GCAnalyticsSurveysAggregatesQuery.ps1

<#
.SYNOPSIS
    Queries survey aggregate analytics.

.DESCRIPTION
    Executes an analytics query for survey aggregate metrics in Genesys Cloud.
    Returns aggregated survey data such as scores, completion rates, and response counts.
    Calls POST /api/v2/analytics/surveys/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 = @('nSurveys', 'oSurveyTotalScore')
    }
    Invoke-GCAnalyticsSurveysAggregatesQuery -Body $query

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

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

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