Public/Get-GCRoutingQueueMembers.ps1

<#
.SYNOPSIS
    Retrieves the members of a routing queue in Genesys Cloud.

.DESCRIPTION
    Queries the Genesys Cloud API to retrieve a paginated list of members assigned to
    a specific routing queue.
    API Endpoint: GET /api/v2/routing/queues/{queueId}/members

.PARAMETER QueueId
    The unique identifier of the routing queue.

.PARAMETER PageSize
    The number of results per page. Default is 25.

.PARAMETER PageNumber
    The page number to retrieve. Default is 1.

.EXAMPLE
    Get-GCRoutingQueueMembers -QueueId '12345678-1234-1234-1234-123456789012'
    Retrieves the first page of members for the specified queue.

.EXAMPLE
    Get-GCRoutingQueueMembers -QueueId '12345678-1234-1234-1234-123456789012' -PageSize 100
    Retrieves queue members with 100 results per page.

.NOTES
    Genesys Cloud API: GET /api/v2/routing/queues/{queueId}/members
#>

function Get-GCRoutingQueueMembers {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)]
        [string]$QueueId,

        [Parameter(Mandatory = $false)]
        [int]$PageSize = 25,

        [Parameter(Mandatory = $false)]
        [int]$PageNumber = 1
    )

    $queryParams = @{
        pageSize   = $PageSize
        pageNumber = $PageNumber
    }

    $endpoint = "routing/queues/$QueueId/members"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method GET -QueryParameters $queryParams
}