Public/New-GCUsageQuery.ps1

<#
.SYNOPSIS
    Submits a new usage query.

.DESCRIPTION
    Submits a usage query to Genesys Cloud and returns an execution ID for retrieving results.
    Uses the POST /api/v2/usage/query endpoint.

.PARAMETER Body
    The usage query definition object containing interval and metrics.

.EXAMPLE
    $queryBody = @{ interval = '2024-01-01T00:00:00Z/2024-01-31T23:59:59Z' }
    New-GCUsageQuery -Body $queryBody

.NOTES
    Genesys Cloud API: POST /api/v2/usage/query
#>

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

    $endpoint = "usage/query"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method POST -Body $Body
}