Public/Get-GCQualityKeywordSets.ps1

<#
.SYNOPSIS
    Retrieves a list of quality keyword sets from Genesys Cloud.

.DESCRIPTION
    Queries the Genesys Cloud API to retrieve a paginated list of quality keyword sets.
    Supports filtering by name.
    API Endpoint: GET /api/v2/quality/keywordsets

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

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

.PARAMETER Name
    Filter keyword sets by name. Supports partial matching.

.EXAMPLE
    Get-GCQualityKeywordSets
    Retrieves the first page of quality keyword sets with default page size.

.EXAMPLE
    Get-GCQualityKeywordSets -Name 'Compliance' -PageSize 50
    Retrieves keyword sets matching the name 'Compliance'.

.NOTES
    Genesys Cloud API: GET /api/v2/quality/keywordsets
#>

function Get-GCQualityKeywordSets {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $false)]
        [int]$PageSize = 25,

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

        [Parameter(Mandatory = $false)]
        [string]$Name
    )

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

    if ($Name) { $queryParams['name'] = $Name }

    $endpoint = "quality/keywordsets"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method GET -QueryParameters $queryParams
}